Hyper-V y el fichero de paginación de memoria
Uno de los aspectos más importantes de la configuración, o más bien de los ajustes de rendimiento, de un sistema operativo, ya sea Linux, Unix o Windows, es el correcto dimensionamiento del espacio de intercambio o del fichero de paginación de memoria.
Normalmente todos tenemos más o menos claro cuánto espacio tenemos que reservar para el área/fichero de intercambio: 2x(RAM física) para sistemas Linux/Unix y 1.5x(RAM física) para sistemas Windows.
Sin embargo estas reglas clásicas, y centrándonos ya sólo en la plataforma de Microsoft, puede que no acaben de tener mucho sentido, ¿o sí?
Permitidme un poco de bicefalia en el razonamiento sobre la decisión en cuestión:
- Por un lado el ahorro de espacio e IOPS a la hora de reducir el fichero de paginación
- Por el otro la disminución de carga administrativa al dejar que el sistema decida el tamaño del fichero de paginación.
Como con casi la mayoría de las cuestiones técnicas, la respuesta correcta siempre será “depende del caso” así que si os parece bien fijemos algunas variables para esta discusión:
- Tomaremos un servidor Hyper-V R2 (versión Core o Full)
- 96 GB de RAM
- Conectado a almacenamiento compartido (SAN o iSCSI con iniciadores hardware, lo que prefiráis en este punto)
Para el caso que discutimos otros aspectos como CPU o interfaces de red resultan poco relevantes.
Lo primero que observamos es que si aplicamos la regla tradicional del 1,5*(RAM física) el fichero de paginación se nos va a la nada desdeñable cantidad de 144GB (aquí caben un par de maquinitas virtuales sin muchos problemas). Si dejamos que el sistema gestione el archivo de paginación el tamaño es algo más pequeño (alrededor de los 100GB), pero aún un tamaño “interesante”.
Pero, ¿Cuál es la razón para querer tener un fichero de paginación tan grande? Siempre teniendo presente que estamos tratando con un servidor Hyper-V, el único motivo que se me ocurre para tener un pagefile.sys tan grande sería tener espacio suficiente para que en caso de que se produzca un error grave del sistema, este tenga espacio suficiente para hacer un volcado de memoria completo a disco.
No olvidemos un punto importante de la plataforma Hyper-V, y es que las máquinas virtuales consumen memoria física, nunca memoria virtual, por lo que en este aspecto, tener un fichero de paginación más grande no supone, bajo mi punto de vista, más que un desperdicio de espacio.
Por último, tener un fichero de paginación creciendo y decreciendo constantemente no hace más que derivar en una posible fragmentación del sistema de ficheros, por lo que si además si tenemos en cuenta que por defecto se ubica en el volumen de sistema, esta no es precisamente la mejor de las situaciones.
Así que teniendo en cuenta todo lo expuesto hasta ahora, además del hecho de que el dominio padre de un host Hyper-V “no hace más” que gestionar las peticiones de las máquinas virtuales alojadas en los dominios hijos y alojar los controladores para presentar el hardware a los dominios hijos, un fichero de paginación de entre 4 y 6 GB sería más que suficiente para un host Hyper-V.
¿Crees que este artículo puede interesar a alguien a quien conoces? Compártelo clicando los botones de Twitter y Facebook de abajo o arriba. Gracias.