Análisis del archivo de paginación (Pagefile/Swap)

En esta práctica del módulo de Sistemas Operativos Monopuesto, profundizaremos en la gestión de la memoria virtual y el almacenamiento secundario. Aprenderemos a localizar, analizar y configurar el archivo de paginación (Pagefile.sys en Windows o la partición/archivo Swap en GNU/Linux), dimensionando su tamaño de forma fija o gestionada por el sistema según las necesidades del hardware y la carga de trabajo.

Objetivo:

Comprender el funcionamiento del subsistema de memoria virtual, configurar de manera personalizada el tamaño del archivo o partición de intercambio y analizar su relevancia ante situaciones de escasez de memoria RAM física.

Escenario:

  • Un equipo con sistema operativo Windows o GNU/Linux.
  • Acceso a la consola de comandos (PowerShell o Terminal) o panel de configuración con privilegios de administrador o superusuario (sudo).

Instrucciones:

Opción A: Entorno Windows (Gestión de Pagefile.sys)

  1. Localización y consulta del archivo de paginación:
    • Abre el Explorador de archivos (asegúrate de tener activada la opción de mostrar archivos ocultos y protegidos del sistema). Localiza en la raíz del disco principal (ej. C:\) el archivo pagefile.sys.
    • Para consultar su estado mediante comandos, abre PowerShell como administrador y ejecuta:
      Get-CimInstance Win32_ComputerSystem | Select-Object AutomaticManagedPagefile
      O bien revisa el tamaño actual con: Get-PageFile
  2. Configuración manual de un tamaño fijo:
    • Accede al Panel de control > Sistema y seguridad > Sistema > Configuración avanzada del sistema (o escribe sysdm.cpl).
    • En la pestaña Opciones avanzadas, dentro del apartado Rendimiento, haz clic en Configuración.
    • Ve de nuevo a la pestaña Opciones avanzadas y en Memoria virtual haz clic en Cambiar...
    • Desmarca la casilla "Administrar automáticamente el tamaño del archivo de paginación para todas las unidades".
    • Selecciona la unidad, marca Tamaño personalizado y establece un valor fijo (por ejemplo, Tamaño inicial y Tamaño máximo de 4096 MB para fijarlo en 4 GB). Pulsa Establecer y reinicia el equipo.

Opción B: Entorno GNU/Linux (Gestión del espacio Swap)

  1. Comprobación del uso de memoria Swap actual:
    • Abre una terminal con privilegios de superusuario y ejecuta el siguiente comando para ver el espacio de intercambio activo:
      sudo swapon --show
      O consulta la memoria general con: free -h
  2. Creación y dimensionamiento de un archivo Swap adicional:
    • Si necesitas ampliar o crear un archivo de intercambio (ej. de 2 GB), genéralo mediante el comando fallocate o dd:
      sudo fallocate -l 2G /swapfile
    • Establece los permisos estrictos de seguridad para que solo el root pueda leerlo/escribirlo:
      sudo chmod 600 /swapfile
    • Formatea el archivo como área de intercambio y actívalo:
      sudo mkswap /swapfile
      sudo swapon /swapfile
    • Para que sea persistente tras reiniciar el sistema, añade su referencia al archivo /etc/fstab:
      /swapfile none swap sw 0 0

Verificación

  1. Comprueba que el archivo de paginación (pagefile.sys o /swapfile) se encuentra creado en el sistema con el tamaño dimensionado.
  2. Verifica mediante los comandos o paneles de control que el sistema operativo reconoce el nuevo espacio de intercambio configurado.
  3. Confirma que el equipo opera de forma estable tras aplicar los cambios de dimensionamiento.

Preguntas de reflexión:

  1. ¿Qué función principal desempeña el archivo de paginación o swap cuando la memoria RAM física del equipo se encuentra completamente saturada?
  2. ¿Qué ventajas e inconvenientes presenta establecer un tamaño fijo para el archivo de paginación frente a dejar que el sistema operativo lo gestione de forma dinámica y automática?
  3. ¿Por qué puede penalizar gravemente el rendimiento general del sistema (fenómeno conocido como thrashing o saturación por intercambio) si un equipo depende excesivamente del uso del disco para simular memoria RAM?
Haz clic aquí para ver la solución orientativa

1. ¿Qué función principal desempeña el archivo de paginación o swap?

Actúa como un desahogo o extensión de la memoria RAM física. Cuando las aplicaciones abiertas requieren más memoria de la físicamente disponible, el gestor de memoria virtual del sistema operativo traslada las páginas de memoria menos utilizadas (inactivas) desde la RAM hacia el archivo de paginación en el disco, liberando espacio para los procesos prioritarios activos.


2. ¿Qué ventajas e inconvenientes presenta un tamaño fijo frente a uno dinámico?

Un tamaño fijo evita la fragmentación del archivo en el disco y garantiza un espacio mínimo predecible, además de evitar que el sistema consuma espacio libre de manera descontrolada. Su inconveniente es que si una aplicación pesada requiere más memoria de la fijada, el sistema lanzará un error de falta de memoria.

Por el contrario, el tamaño dinámico se adapta de forma flexible a las necesidades del momento, pero puede provocar una alta fragmentación del almacenamiento y ralentizaciones puntuales cuando el sistema operativo necesita redimensionar el archivo en caliente.


3. ¿Por qué se produce el fenómeno de thrashing o saturación por intercambio?

El thrashing ocurre cuando la cantidad de RAM es insuficiente para la carga de trabajo y el sistema pasa más tiempo moviendo páginas de datos entre la RAM y el disco duro (que es miles de veces más lento) que ejecutando instrucciones reales del procesador. Esto provoca una congelación casi total de la respuesta del equipo.