Guía para elegir el tamaño de la memoria virtual en Windows
Ponle freno al archivo pagefile.sys antes de que devore tu disco
Seguro que alguna vez ─si eres de los que cacharrea un montón con su PC─ te ha dado por investigar qué tanta morralla mete el sistema operativo Windows en tu máquina. Pues bien, además de las famosas carpetas ─como WinSxS─ que crecen sin medida, hay otros archivos igualmente infames. Cuánto ocupa todo Windows se puede comprobar fácilmente con herramientas de uso de disco, como WinDirStat. Y además del archivo de hibernación típico hay otro llamado pagefile.sys que tiene la mala costumbre de comerse del orden de decenas de gigas. No importa si es disco duro clásico o flamante SSD.
El tamaño de la paginación y su gestión no es ningún secreto y está en Sistema -> Configuración avanzada del sistema -> Rendimiento -> Memoria Virtual. Lo normal es que esté administrada automáticamente por el sistema, y lo normal es que sea en el disco habitual principal del SO (C:). Pero, ¿es necesario que ocupe tanto? ¿Es recomendable ajustarlo a un tamaño más razonable? Veamos.
Entendiendo brevemente para qué sirve la memoria virtual
En el caso de que la memoria RAM se agote durante la ejecución de programas ─pongamos por ejemplo tener cien pestañas en varios navegadores, algunos editores intensos de vídeo, etc.─, el SO usa una porción previamente lista del disco duro o SSD como RAM temporal. Así, en teoría, se evita aquel típico error "OUT OF MEMORY" en Windows desde los años 90, pasando por XP.
Caso práctico: configura tu archivo de paginación a tu gusto
Bien autoenseñado para mantener a raya el espacio, a mí me llamó la atención semejante cantidad de memoria virtual (rozando los 24GB en algunos reinicios) en un PC con solo 8GB de RAM. Según las clásicas recomendaciones, recordaba que el pagefile.sys no era necesario más allá del total de RAM instalado, para ocasiones en las cuales no hay RAM suficiente o se necesita volcar una "foto" del sistema, por ejemplo con pantallazos azules.
Para valorar con certeza cuánto necesita realmente tu máquina, se puede poner un monitor de rendimiento en Panel de control -> Sistema y Seguridad -> Herramientras administrativas -> Monitor de Rendimiento y dejarlo correr un tiempo.
Hay que agregar un contador que mida el uso real del archivo de paginación.
En mi caso y PC concreto el porcentaje de uso máximo ha sido de 9% sobre un total de 18028MB, mirado durante una semana de uso habitual, con múltiples programas, navegadores y editores.
Windows recomienda 1900MB, que coincide más menos con lo obtenido durante el análisis, así que eso es lo que estimo como objetivo: 2GB. Y a correr.
Sobre el mínimo, Microsoft en su documentación oficial recomienda que la memoria virtual sea, como poco, del tamaño de la RAM dividido entre 8. En mi caso, con 8GB de RAM, haría falta un mínimo de 1 GB.
Con este mínimo y el máximo anterior, solo queda ir a Sistema -> Configuración avanzada del sistema -> Rendimiento -> Memoria Virtual, tal y como muestra la captura de pantalla.
Y establecer manualmente los límites superior e inferior:
Tamaño mínimo: 4000 ─ Tamaño máximo: 8000 (megabytes)
ACTUALIZACIÓN 26/11/2023: Sin motivo alguno y sin consumo, poniendo los valores calculados (1000 en mínimo, 2000 en máximo) el sistema empezó a mostrar signos de estabilidad alarmantes: pestañas de navegador que se colgaban por falta de memoria (ridículo, pues había RAM de sobra), pero sobre todo un flasheo constante de la tarjeta gráfica, tal vez por el hecho de estar usando tres monitores sin que la tarjeta tenga capacidad suficiente para tal tarea sin tirar de RAM física instalada. Así que, por esta razón, decidí multiplicar por 4 ambos valores obtenidos previos. Parece que el SO actúa como una esponja de RAM y sospecho que deja muy poquito disponible para programas en ejecución, teniendo que llenar la memoria virtual mucho más de lo que sería razonable. Así es Windows de ineficiente.
Parece que todo bien, pero siempre hay un "pero"
Reducir la memoria virtual por debajo del tamaño de la RAM solo tiene un inconveniente principal, además de si los programas se comen toda la RAM y no queda libre para tareas. Puede que un volcado completo en caso de pantallazo azul falle. Pero si algún día sucede y hay que diagnosticar, se puede modificar puntualmente y hacer un reboot para que completar tal volcado tras el cuelgue del sistema. Luego ningún problema. Y mientras tanto se acabaron ese uso excesivo de gigas en el disco, que sospecho además desgastan el SSD inútilmente.