Conecta con nosotros

A Fondo

Qué es la memoria virtual y para qué sirve

Publicado

el

memoria virtual

Si bien en la actualidad hay ordenadores domésticos con una cantidad monstruosa de RAM, no viene mal tener en cuenta y saber qué es la memoria virtual, una técnica empleada con el fin de acceder a una cantidad de memoria superior a la físicamente disponible para la ejecución del sistema operativo, las aplicaciones y el resto del software. Por lo general, cuando la RAM disponible se va a agotando, la memoria virtual se apoya en el espacio sin utilizar de la unidad de almacenamiento, la cual puede ser un disco duro o un SSD.

A estas alturas no es ningún misterio saber que la memoria RAM es la empleada para soportar el software que se ejecuta en la computadora, abarcando tanto el sistema operativo como las aplicaciones, los servicios y otros programas. Conforme se vaya ejecutando software en la computadora, sobre todo si no se cierra lo que previamente se ha abierto, el usuario puede encontrarse con que la RAM se agota y el sistema (sobre todo Windows) empieza a recurrir a la unidad de almacenamiento con el fin de complementarla.

La memoria virtual abarca la combinación RAM y la unidad de almacenamiento o el área de intercambio. El sistema operativo de la computadora, empleando una combinación de hardware y software, asigna direcciones de memoria utilizadas por un programa, llamada direcciones virtuales, dentro de direcciones físicas en la memoria del ordenador.

A pesar de que permite “ampliar” la cantidad de memoria para ejecutar software, es importante tener en cuenta que la unidad de almacenamiento es más lenta de la RAM, así que cuando la memoria virtual empieza a hacer de las suyas es normal que el ordenador se ralentice, sobre todo si se usa un disco duro mecánico.

En caso de ver que la memoria virtual recurre a la unidad de almacenamiento con demasiada frecuencia, es posible que sea porque el equipo necesita de una ampliación de la RAM. Viendo lo que ocupan las aplicaciones actuales y sobre todo la cantidad de recursos que acaparan los navegadores web, la cantidad mínima de RAM recomendable para un equipo doméstico destinado a tareas básicas puede establecerse en 4GB, y aún con esas lo óptimo sería 8GB. A partir de aquí entramos en las circunstancias particulares de cada uno.

Los aspectos más básicos de la memoria virtual son fáciles de entender, así que voy a explicar el mecanismo de apoyo que emplea Windows y exponer las opciones más populares que hay para Linux en este sentido.

La memoria virtual en Windows

La memoria virtual en Windows emplea un archivo de paginación en la unidad de almacenamiento llamado pagefile.sys, que se encuentra ubicado de manera oculta en la raíz del sistema. Simplificando mucho, ahí se van almacenando los datos que no caben en la memoria RAM, pero que son necesarios para el normal funcionamiento del PC.

Cuando Windows empieza a emplear la unidad de almacenamiento y por ende al fichero pagefile.sys, lo normal es que el usuario note una ralentización del equipo, la cual puede ser más acusada cuanto más antiguo sea el formato de la unidad de almacenamiento. Dicho con otras palabras, la ralentización será más notoria en un disco duro mecánico que un SSD por PCIe.

Monitorización de la memoria en Windows

Windows tiene la memoria virtual configurada de manera predeterminada y toma la unidad de almacenamiento cuando el equipo empieza a quedarse escaso de RAM. Si bien la memoria virtual no ofrece beneficios en todos los frentes debido a la pérdida de desempeño cuando empieza a apoyarse en el disco, su uso es importante porque evita cuelgues y problemas de estabilidad. Esto puede recordar un poco al temido thermal throttling, un mecanismo de defensa que reduce el rendimiento de un componente de hardware con el fin de evitar que se sobrecaliente.

¿Hace falta reconfigurar el fichero de paginación en Windows? Si el ordenador cuenta con ocho o más gigabytes de RAM es muy raro que esa pregunta se responda de forma afirmativa, sin embargo, en equipos con menos cantidad de memoria puede ser una buena idea si se nota que el equipo anda demasiado apurado. Eso sí, en caso de no tener claro lo que se está haciendo, lo recomendable es no tocar nada.

Cómo reconfigurar la memoria virtual en Windows

Para reconfigurar el fichero de paginación en Windows hay que introducir la frase “Ajustar la apariencia y rendimiento de Windows” (sin comillas) en el campo de búsqueda del menú de inicio y hacer clic sobre la entrada que aparece con la misma frase.

Ajustar la apariencia y rendimiento de Windows

Tras hacer clic se accede a las “Opciones de rendimiento” donde hay que pulsar sobre la pestaña “Opciones avanzadas”. Luego hay que dirigirse a la configuración de la memoria virtual y después pulsar sobre el botón “Cambiar”.

Opciones avanzadas para reconfigurar la memoria virtual en Windows

Una vez dentro, se desmarca la casilla “Administrar automáticamente el tamaño del archivo de paginación para todas las unidades” y es posible establecer un tamaño personalizado tanto inicial como máximo en megabytes. Aquí he puesto un mínimo de 1.024 megabytes (1GB) y un máximo de 4.096 megabytes (4GB) a modo de ejemplo, ya que estos valores dependen de las prestaciones del equipo y las necesidades del usuario.

Otras opciones son que el tamaño sea administrado por el sistema y dejar el sistema sin archivo de paginación. Aquí repito lo que expuse antes: si no se tiene claro lo que se está haciendo, lo mejor es dejar marcada la casilla “Administrar automáticamente el tamaño del archivo de paginación para todas las unidades” y que sea el propio Windows el que se encargue de todo. Por otro lado no es recomendable inhabilitar el fichero de paginación.

La memoria virtual en Linux

La memoria virtual en Linux es conceptualmente lo mismo. Tradicionalmente se ha empleado una partición de intercambio, comúnmente llamada swap, que se encarga de dar apoyo a la RAM cuando esta empieza a agotarse, aunque también es posible que sea usada como caché, por lo que es probable que el usuario vea que ha sido utilizada incluso cuando se ha quedado lejos de consumir la RAM disponible en el equipo.

En los últimos tiempos se han extendido otros formatos de swap, principalmente a través de Ubuntu y Fedora, dos de las distribuciones más conocidas y usadas. La primera utiliza de manera predeterminada swapfile, cuyo funcionamiento tiene similitudes con el fichero de paginación de Windows al consistir en un archivo ubicado en la raíz del sistema que se encarga del intercambio, mientras que la segunda recurre a swap sobre ZRAM, que consiste en usar un modulo para el kernel, ZRAM, que crea un dispositivo de bloque comprimido en RAM. Dicho de manera burda y para que se entienda, swap sobre ZRAM toma una porción de la RAM y la usa con compresión sobre la marcha.

La ventaja de swapfile es que evita el tener una partición que no puede ser empleada por los datos del sistema ni del usuario, mientras que swap sobre ZRAM evita el uso de la unidad de almacenamiento y proporciona un mejor desempeño, pero a cambio de no soportar la hibernación, aunque sí la suspensión.

Ubuntu emplea swapfile como via para usar el medio de almacenamiento en la memoria virtual

Ubuntu emplea «swapfile» como via para usar el medio de almacenamiento en la memoria virtual.

El heterogéneo mundo de Linux hace que cada distribución tenga un tipo de swap configurado de manera predeterminada. Algunas distribuciones que usan Calamares como instalador dan la posibilidad de elegir entre de apoyarla en una partición, un fichero o directamente no usar ningún tipo de swap, cosa que se ha extendido en los últimos años debido a la gran cantidad de RAM que disponen los ordenadores modernos.

Debido a la naturaleza altamente personalizable de Linux, lo normal es que se pueda reconfigurar la swap para usar el tipo que el usuario quiera, pero el proceso no es tan sencillo como en Windows. A menos que se tenga una idea bien clara de lo que se está haciendo, lo suyo es dejar la configuración predeterminada, porque si los desarrolladores y mantenedores de una distribución han tomado una decisión, sus razones tendrán.

Memoria virtual y SSD, ¿debería preocuparme?

A pesar de estar consolidados desde hace muchos años, las unidades SSD siguen arrastrando mala fama en términos de durabilidad debido a unos inicios no muy brillantes. Sin embargo, la tecnología ha mejorado muchísimo y en la actualidad no son pocos los que dicen que son más duraderos que los discos duros mecánicos.

La realidad es que los SSD más bien llegaron tarde, porque cuando aparecieron los discos duros mecánicos ya eran acusados cuellos de botella en los ordenadores personales. Por otro lado, sus mayores velocidades les permite soportar de mejor manera la gran cantidad de procesos que se llegan a ejecutar en los sistemas operativos modernos, no solo por temas como la memoria virtual, sino también los indexadores y ciertas aplicaciones pesadas.

Respondiendo a la pregunta, no hay de qué preocuparse si el equipo cuenta con la cantidad de RAM suficiente. Si la memoria virtual se apoya en la unidad de almacenamiento con demasiada frecuencia, el usuario lo notará enseguida, aunque el impacto en el desempeño será menor si se trata de un SSD por interfaz NVMe.

No hay que alarmarse si la memoria virtual se apoya de vez en cuando la unidad de almacenamiento, porque a fin de cuentas para eso está y las unidades SSD ofrecen desde hace mucho durabilidad y fiabilidad. Eso no quita la posibilidad de que un SSD salga malo y tenga una esperanza de vida inferior a la esperada, pero esto es algo que puede ocurrir con productos de todo tipo.

Conclusiones

La memoria virtual es algo que lleva décadas ahí y que nos seguirá acompañando en el futuro, sobre todo porque es un mecanismo que contribuye a evitar que el sistema se quede sin memoria y por ende ofrece un marco capaz de mantener la estabilidad a cambio de perder rendimiento. Sin embargo, no es menos cierto que las capacidades que ofrece no van a ser aprovechadas a fondo en un PC de altas prestaciones.

Imagen de portada: Pixabay.

Lo más leído