Fichero de Paginación (Parte 1)

Muy buenas a todos, después de una serie de accidentes en la migración de mi blog voy a continuar colgando información que espero que sea de utilidad. A continuación os dejo la primera parte de una serie de notas sobre el fichero de paginación, y es que una pregunta muy típica entre los administradores de sistemas es ¿en qué tamaño tengo que fijar el fichero de paginación?, ¿realmente necesito fichero de paginación? Cuando se habla del fichero de paginación surgen mil dudas y mil normas que siempre hemos creído como ciertas, pero que cuando investigas un poco más, te das cuentas que no son exactamente como se cuentan o como creímos que eran.

Para poder entender mejor el funcionamiento del fichero de paginación tenemos que entender el concepto de paginación. Este concepto aparece conjuntamente con el de memoria virtual, la paginación es uno de los esquemas de manejo de la memoria donde un proceso puede almacenar la información en memoria principal o en memoria secundaria según sea necesario. La memoria se divide en pequeñas partes llamadas marcos de página, a su vez, los procesos dividen la información que manejan en partes del mismo tamaño llamadas páginas.

De lo que se trata es que estén en memoria principal solo aquellas páginas que el proceso esté utilizando y las que no, estén almacenadas en memoria secundaria, en disco para ser exactos. Si el proceso necesita utilizar una página concreta que no está en memoria principal, genera una excepción al sistema operativo llamada fallo de página para que esta página sea copiada a memoria principal. Existen diferentes algoritmos en los cuales se determina que paginas son pasadas a memoria secundaria y cuáles no, de esta manera conseguimos que, en un espacio de memoria limitado puedan convivir más procesos de forma simultánea y estos solamente tendrán cargado en memoria principal aquellas páginas que realmente sean necesarias.

 

image

 

Sabiendo todo esto ya nos podemos hacer una idea de para que se utiliza el fichero de paginación, durante años he escuchado muchos comentarios sobre la paginación de Windows, muchos de ellos no muy buenos y la verdad es que nunca escuché un motivo técnico claro acerca del porque va mal, simplemente, va mal y ya. La cuestión es que Windows es capaz de manejar de forma automática el fichero de paginación, y es que si tú no sabes calcular cuánto necesitas de fichero de paginación, puedes hacer que Windows lo haga por ti mediante un algoritmo muy sencillo ya establecido. ¿Ese algoritmo es mejorable?, seguramente sí, pero entiendo que este algoritmo siempre será mucho mejor que si tú no sabes calcular cuánto necesitas de fichero de paginación y lo haces mal. Si estableces que sea el sistema quien gestione automáticamente este fichero, el sistema hará lo siguiente:

  • En XP y Windows Server 2003 (ambos ya están fuera de soporte), el sistema establecerá un tamaño inicial de 1,5 veces la RAM de la máquina y como máximo 3 veces la RAM de tu máquina.

En Windows Vista o 2008 Server y posteriores el algoritmo varía un poco y es más dinámico:

  • En Windows Vista y posteriores, cuando establecemos que el fichero de paginación sea gestionado por el sistema, si se tiene 1GB de memoria RAM instalada, el tamaño máximo del archivo de paginación es la RAM + 300 MB. Si tuvieras 4 GB de memoria RAM instalada, sin embargo, el tamaño máximo del archivo de paginación es 3 x RAM. Sobre la base de los recursos que el sistema tiene (RAM/espacio en disco), el sistema puede ajustar el tamaño de archivo de la paginación después de un reinicio si se añade más memoria o espacio de disco adicional.

Esto tiene ventajas e inconvenientes, como ventaja tenemos que, si no sabes gestionar el tamaño del fichero, tendrás un tamaño lo suficientemente grande como para que no tengas problemas ni en la paginación, ni en un crash de la máquina ya que como veremos más adelante el fichero de paginación es importante a la hora de crear un volcado. El inconveniente es que imagina que tenemos una máquina de 32GB de RAM, ¿realmente necesitarías un fichero de cómo mínimo 48GB o como máximo 96GB? La pregunta real es, una máquina con 32GB de RAM o 64GB, ¿realmente necesita paginar?. Veremos mas sobre estos temas en siguientes post, espero que os sea de utilidad.