Imprimir

El archivo de paginación y la memoria virtual en Windows XP

Escrito por José Gallardo on 18 Diciembre 2005.

1
Compartir

El archivo de paginación es un espacio de intercambio utilizado habitualmente por cualquier sistema operativo cuando este se queda sin memoria RAM física. Windows utiliza un espacio en el disco duro para crear este archivo y poder simular la memoria RAM necesaria para poder ejecutar aplicaciones con soltura.
En este artículo damos respuesta a que es el archivo de paginación, para qué se utiliza y lo que es más importante: cómo optimizar su rendimiento

 

La memoria en Windows XP

Windows XP es capaz de direccionar hasta 2^32 direcciones de memoria, es decir, 4294967296 (4GB). Esto lo hace independientemente de la memoria RAM que tengamos instalado (de la cual XP es capaz de gestionar hasta 4GB). Puesto que nuestra memoria RAM puede ser menor que esos 4GB, es necesario tener un espacio para alojar dichas direcciones de memoria, en caso de que fuesen necesarias. Ese espacio extra lo proporcionará el archivo de paginación. Por tanto, vemos cómo en XP tenemos dos tipos de memoria: la propia RAM y un “añadido” procedente del disco duro. Pues bien, esos dos tipos es lo que se conoce como memoria virtual. Aunque parezcan “iguales” no lo son en absoluto. De hecho, el acceso a la memoria RAM es mucho más rápido comparado con el acceso al disco duro.  En Windows XP, el archivo de paginación se llama pagefile.sys. Suele estar localizado en la partición en la que tengamos instalado el sistema operativo, habitualmente C:\, aunque veremos que esto puede cambiarse.

De los 4GB aludidos, Windows XP se guarda 2GB para los procesos privados del sistema operativo, y deja los otros 2GB para el resto de proceso aunque si fuese necesario podría disponer de ellos. Veamos muy brevemente cómo funciona el acceso a la memoria.

Supongamos que la CPU necesita acceder a una determinada dirección de memoria. Pueden suceder dos cosas:

 

  • que la dirección solicitada esté en la RAM, en ese caso de accede y ya está.

 

 

  • que dicha dirección no esté en la RAM. En ese caso, el sistema operativo realiza una interrupción, habitualmente llamada fallo de página (“page fault” en inglés). Solicita al archivo de paginación la página (que suele tener un tamaño de 4KB)  que contenga dicha dirección. Si algo falla, el sistema operativo podría dar una pantalla azul con el mensaje “Invalid Page Fault”.

 

 

Todo esto suele ocurrir de forma invisible y silencio, aunque como hemos visto se pueden producir pantallas azules. Igualmente los puede producir una zona de la RAM llamada área no paginada (“non-paged area”). Son los datos de la RAM que el sistema operativo mantiene siempre ahí, y no los pagina en el disco duro. Una fallo del tipo “Page Fault in non-paged area”, puede indicar un fallo en algún módulo de la RAM, o quizá un código dañado por daños en el disco duro.

Viendo, modificando y configurando el archivo de paginación

Como ya he dicho, el archivo de paginación suele estar en el directorio raíz, C:\ y se llama pagefile.sys. Puesto que es un archivo oculto y de sistema, para verlo hacemos lo siguiente: Inicio > Panel de control > Herramientas > Opciones de carpeta > Ver y ahí:

marcamos “Mostrar todos los archivos y carpetas ocultos”
marcamos “Mostrar el contenido de las carpetas de sistema”
desmarcamos “Ocultar archivos protegidos del sistema operativo (recomendado)”.

Veremos que, en principio, el archivo de paginación suele tener un tamaño variable.
 

¿Puedo eliminarlo?

Directamente, el archivo no puede eliminarse porque está siempre en uso por el sistema. Ni siquiera puede hacerse en modo seguro. No es conveniente eliminar el archivo de paginación por lo que luego se dirá, pero hay veces que podría corromperse (dando las correspondientes pantallas azules) y en ese caso puede ser útil eliminarlo para que el sistema cree uno nuevo. Esto puede hacerse así: click derecho sobre Mi PC > Propiedades > Opciones avanzadas, pinchamos sobre Configuración  en el apartado “Rendimiento” y nos vamos a la pestaña “Opciones avanzadas”. Abajo veremos un botón llamado “Cambiar”. Pinchamos sobre él y en la nueva ventana, elegimos Sin archivo de paginación. A continuación (esto es importante), pinchamos sobre Establecer y luego sobre “Aceptar” y reiniciamos. A continuación eliminamos el archivo, volvemos a la pestaña anterior, ponemos el archivo de paginación como lo teníamos y volvemos a reiniciar.
 

¿Por qué no conviene eliminarlo?

Aun cuando tengamos “suficiente” memoria RAM, como vemos el sistema operativo es capaz de direccionar hasta 4GB de memoria. Si no tuviésemos archivo de paginación y el sistema operativo necesitase más memoria de nuestra RAM, tendría que esperar a liberar de la memoria los datos ya usados o innecesarios para hacer espacio a los nuevos necesitados, con lo que se produciría una pérdida en el rendimiento.

Es más, si quitamos completamente el archivo de paginación, el sistema operativo no podrá crear un archivo de volcado de memoria (dump) en caso de error. Al menos tendríamos que darle un tamaño mínimo al archivo de paginación, por ejemplo, de 200MB o del tamaño de la RAM.
 

¿Dónde debe estar el archivo de paginación?

Esta cuestión es algo discutida ya que parece que la información disponible y la experiencia parece que dicen algo distinto.

El artículo de la KB en el que se alude a la localización del archivo de paginación es este:

http://support.microsoft.com/?kbid=314482

Veamos algunos puntos importantes de él:

Para mejorar el rendimiento, mueva el archivo de paginación a otra partición. Cuando el archivo de paginación está en la partición de inicio, Windows debe realizar las solicitudes de lectura y escritura del disco tanto en la carpeta del sistema como en el archivo de paginación. Cuando el archivo de paginación se mueve a una partición diferente, hay menos enfrentamiento entre las solicitudes de lectura y de escritura.

La experiencia dice que, si tenemos un solo disco duro, el archivo de paginación no debería moverse de su ubicación, es decir, de C:\ Y esto es porque los cabezales del disco duro tendrían que moverse a partes más alejadas del disco, con lo que éste sufriría más. Si tenemos dos discos duros (o más), lo recomendable es situar el archivo de paginación del sistema operativo que esté en un disco duro en el otro disco. Con eso, la mejora en el rendimiento será notable. En cualquier caso, como dice el artículo de la KB anterior, convendría dejar en la partición del sistema operativo un archivo de paginación mínimo para cuestiones de depuración (es decir, tener dos archivos). En presencia de dos archivos de paginación, mediante un algoritmo interno, Windows XP determinará qué archivo de paginación usar.

Cuando se coloca un archivo de paginación en su propia partición, éste no se fragmenta, lo que supone otra ventaja decisiva. Si un archivo de paginación reside en una partición que contiene otros datos, puede que se fragmente al ampliarse para satisfacer la necesidad de memoria virtual adicional. Un archivo de paginación sin fragmentaciones implica un acceso más rápido a la memoria virtual y una mayor probabilidad de capturar el archivo de volcado sin ningún error importante.
 

Esto puede servir para lo anteriormente citado en caso de que tengamos más de un disco duro. En ese caso, sí es conveniente, tal y como se ha dicho, tener el archivo de paginación en una partición propia para evitar la aludida fragmentación.
 

¿Qué tamaño debe tener el archivo de paginación?

También es otra cuestión, si no discutida, por lo menos abierta. Suele ser habitual tenerlo con un tamaño mínimo de 1.5 veces la RAM y máximo de 3 veces la RAM. Es decir, si nuestra RAM es, por ejemplo, de 512MB, el tamaño del archivo de paginación podría ser:

mínimo = 1.5 x 512 = 768MB
máximo = 3 x 512 = 1536 MB

Sin embargo, depende de nuestras necesidades podremos cambiar el tamaño.

Por ejemplo, si dedicamos nuestro ordenador a trabajo con textos (procesadores de textos y cosas sencillas) y a leer el correo electrónico, seguro que vamos a necesitar un tamaño mínimo del archivo. Aquí hay que hacer la salvedad de que si usamos el Cambio rápido de usuario el archivo de paginación debe ser mayor porque tendremos varios usuarios.

Si nos dedicamos a tratamiento de gráficos, obviamente el archivo de paginación tendrá que ser más grande. ¿Cómo establecer dicho tamaño? Se puede partir del tamaño anterior, es decir, entre 1.5 veces la RAM y tres veces, y desde ahí observar las necesidades, sobre todo en cuanto al tamaño máximo. Para ello, pues por ejemplo, acudimos al Administrador de tareas (Ctrl+Alt+Supr) y estudiar el apartado Historial de uso del archivo de página en la pestaña “Rendimiento”. Ahí podemos observar los picos que nos aparezcan cuando estemos trabajando con distintas aplicaciones que consuman distintos recursos. En ese caso, si es necesario podríamos aumentar el tamaño. En cualquier caso, y si vamos a hacer un uso normal de nuestro ordenador, nos basta con un mínimo de 1.5 la RAM y un máximo de 3 veces.

 

El archivo de paginación en el registro de Windows

En el registro de Windows, como no podía ser menos, también encontramos información y datos sobre la memoria virtual. Por ejemplo, Inicio > Ejecutar y escribimos regedit. Navegamos hasta la clave:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

y pinchamos sobre ella. A la derecha nos aparecerán distintos valores. Por ejemplo., el llamado PagingFiles (de tipo REG_MULTI_SZ) contiene los archivos de paginación que tengamos configurados, sus localizaciones y tamaños máximo y mínimo. También a destacar el valor ClearPageFileAtShutdown. Tiene que ser de tipo REG_DWORD y, si está puesto a “1”, cada vez que apaguemos el ordenador se eliminará el archivo de paginación (y se creará otro en el siguiente reinicio). Esto no es algo que suela hacer falta, e incluso podría hacer que el apagado se demorase más de lo debido. Lo habitual es tenerlo a “0”. Si no se tiene así, click derecho sobre él, elegimos “Modificar” y lo cambiamos.
 

¿Son necesarios liberadores de memoria RAM?

No, en absoluto. Como hemos visto, Windows hace un gran uso de la memoria RAM casi todo el tiempo. Es más, tiende a usar toda la memoria RAM incluso de una forma trivial. Un liberador de memoria hará que Windows no pueda gestionar de esa forma la memoria, con lo que más que liberarla conseguiremos una pérdida de rendimiento.
 

Errores relacionado con la memoria

Algunas veces podemos obtener algún error del tipo Out of memory o bien del tipo El sistema tiene una memoria virtual baja. En ese caso, podemos estar el presencia de dos situaciones: o bien nuestra memoria RAM es insuficiente (recordar que la memoria virtual era la RAM más el archivo de paginación), o bien el archivo de paginación no está bien configurado, con los límites demasiado bajos o no existe. Habría que revisarlo como se ha descrito en las secciones ¿Qué tamaño tiene que tener el archivo de paginación? y ¿Dónde debe estar el archivo de paginación?

Software que afecta a la memoria virtual

Hay ciertos softwares (que digamos no tienen por qué consumir recursos aparentemente) que afectan a la memoria virtual, ya sea “comiéndosela” o desconfigurándola. Una pequeña lista es:

 

 

  • algún Norton Antivirus (reportado en la versión 2004)

 

  • hay casos en que nos aparece el mensaje de memoria virtual baja sólo al apagar el sistema. Si tenemos algo de Symantec instalado, es un error reportado y corregido. Bastaría con bajarse la última versión del archivo “LRsetup.exe” de aquí. 

 

  • “Application Accelerator” de algunas placas madres con chipset Intel. En este caso, puede haber dos situaciones: que no lo tengamos instalado (siempre que nuestra placa madre tenga chipset Intel) y haya que instalarlo o bien, que tengamos una versión antigua del mismo y haya que actualizarla. Puede descargarse de aquí.

 

 Una lista de los chipsets soportados es esta.

 

  • problemas de permisos: si el usuario “System” no tiene Control Total (“Full control”) sobre la partición en la que tengamos el archivo de paginación no podrá crearlo.

 

 

  • como ya he dicho, ese tipo de mensaje no tiene por qué indicar problemas con el archivo de paginación en sí sino con la escasez de memoria RAM.

 

Compartir

Comentarios   

 
0 #55 technical support 27-06-2014 02:27
I think աhat yoս composed was actually verʏ logical. ʜowever, think
on thiѕ, suppose уoս aɗded a little information? I
ain't sayіng your content isn't solid, ɦowever what iff you ɑdded a title that grabbed a person's attention? І mean El archivo ɗe
paginación y la memoria virtual en Windows XP іs kinda vanilla.
Үοu should glance аt Yahoo's front page аnd note hoԝ they create pos titles
tߋ get people to click. You mіght try adding ɑ video oor a relаted pic oг twо to grab people excited about
eveгything've ցot tօ sɑy. Just mу opinion, itt could make your posts a lіttle bit mօre
іnteresting.

my webpage :: technical support lines: http://www.google.com
Citar
 
 
0 #54 Ricardo Soriano 12-06-2013 21:34
Muchas gracias por tu trabajo, excelente!.
Yo ya hace tiempo que utilizo el 'Administrador de tareas de Windows' y tenía mucha curiosidad sobre ese "Archivo de paginación" que aparece en la gráfica.
Yo ya imaginaba que debía ser como una extensión de la RAM en disco duro, pero desconocía todos esos detalles, me ha sido muy útil y ahora sé lo que le pasa a mi PC y qué tengo que hacer.
Citar
 
 
0 #53 Razil 28-11-2012 21:21
Me gusto el documento...

Podrian ayudarme con algo, tengo un portatil en el cual el archivo de paginacion en "Administrador de Tareas" muestra 86mb O.o , eso no es todo he revisado que posee las 2Gb MAx 4Gb de paginacion... que puede ser; va extremadamente lento para tener 2Gb de RAM ...

Gracias
Citar
 
 
0 #52 Erick 18-02-2012 16:31
vale, esta brillante el tema... muy explicado. Buen aporte
Citar
 
 
-1 #51 dingo 11-10-2011 00:44
excelente aporte y ayuda muchisimo este tipo de explicaciones
Citar
 
 
-2 #50 RAAAUUUULLLLL 25-04-2011 11:29
Muy amable por la explicación...
Citar
 
 
0 #49 Jeysson Ramirez 05-04-2011 07:05
:-) Excelente aporte
Citar
 
 
-2 #48 Rodrigo Rojo 03-03-2011 15:49
Muy buen comentario. He solucionado algunos problemas gracias a lo que hemos aprendido.
Gracias y que se repitan
Citar
 
 
-2 #47 Guest 29-11-2010 18:29
Un muy buen aporte para el foro!
Me ha sacado de algunas dudas y ya sabre que aplicar
saludos
Roberto
Citar
 
 
-2 #46 Guest 28-10-2010 03:05
Nunca había comentado nada, esta vez me parece necesario hacerlo. Gracias por la información, tenía un problema con este archivo y ahora está solucionado. Muchas gracias al autor. Es un gesto muy amable compartir lo que se sabe.
Citar
 

Escribir un comentario


Código de seguridad
Refescar

jTweet

Autentíficate

Gente Online

Hay 102 invitados y ningún miembro en línea