Optimización del archivo de intercambio (Swap/Pagefile): Ajustar dinámicamente o reubicar el archivo de memoria virtual en una unidad física diferente para mejorar el rendimiento del sistema en tareas pesadas.
Objetivo:
Configurar, dimensionar y reubicar de manera óptima el archivo de memoria virtual (archivo de intercambio o Pagefile en Windows, y partición/archivo Swap en GNU/Linux) hacia una unidad de almacenamiento independiente y de mayor velocidad (como una unidad SSD secundaria o NVMe) para mitigar los cuellos de botella de memoria RAM y mejorar el rendimiento global del equipo en tareas pesadas.
Escenario:
- Una máquina virtual o equipo físico con un sistema operativo Windows o GNU/Linux con múltiples unidades de almacenamiento.
- Privilegios de administrador del sistema o superusuario (imprescindibles para modificar la configuración de asignación de memoria virtual del núcleo).
Instrucciones:
Opción A: Reubicación y ajuste del archivo de paginación en entornos Windows
- Método Gráfico (Configuración avanzada del sistema):
- Presiona las teclas
Windows + R, escribesysdm.cply pulsaEnter. - Dirígete a la pestaña Opciones avanzadas y, en el apartado de Rendimiento, haz clic en el botón Configuración...
- En la nueva ventana, selecciona la pestaña Opciones avanzadas y haz clic en Cambiar... dentro del apartado de Memoria virtual.
- Desmarca la casilla Administrar automáticamente el tamaño del archivo de paginación para todas las unidades.
- Selecciona la unidad principal (ej.
C:) y elige Sin archivo de paginación, haciendo clic en Establecer. A continuación, selecciona una unidad secundaria más rápida (ej.D:), marca Tamaño administrado por el sistema o define un tamaño personalizado fijo (mínimo y máximo iguales para evitar fragmentación) y haz clic en Establecer y Aceptar. Reinicia el equipo.
- Presiona las teclas
- Método por Línea de Comandos (PowerShell):
- Para consultar el estado actual del archivo de paginación mediante PowerShell como administrador, ejecuta:
Get-CimInstance Win32_ComputerSystem | Select-Object AutomaticManagedPagefile, TotalPhysicalMemory Get-CimInstance Win32_PageFileSetting
- Para consultar el estado actual del archivo de paginación mediante PowerShell como administrador, ejecuta:
Opción B: Configuración y reubicación de Swap en entornos GNU/Linux
- Abre una terminal en tu distribución Linux con privilegios de superusuario.
- Crear y habilitar un archivo de intercambio (Swap file) en una unidad secundaria:
- Crea un fichero de intercambio de tamaño dimensionado (por ejemplo, 4 GB) en la ruta de la unidad de destino deseada (ej.
/mnt/unidad_rapida/swapfile):sudo fallocate -l 4G /mnt/unidad_rapida/swapfile sudo chmod 600 /mnt/unidad_rapida/swapfile sudo mkswap /mnt/unidad_rapida/swapfile sudo swapon /mnt/unidad_rapida/swapfile
- Crea un fichero de intercambio de tamaño dimensionado (por ejemplo, 4 GB) en la ruta de la unidad de destino deseada (ej.
- Verificar el uso actual del espacio de intercambio:
- Comprueba que el sistema ha integrado correctamente el nuevo archivo swap ejecutando:
free -h sudo swapon --show
- Comprueba que el sistema ha integrado correctamente el nuevo archivo swap ejecutando:
Verificación:
- En Windows, comprueba en las propiedades del sistema que el archivo de paginación se ha desvinculado de la unidad principal y se encuentra alojado correctamente en la nueva unidad designada.
- En Linux, verifica mediante el comando
free -hque la capacidad total de intercambio ha incrementado acorde al tamaño del fichero configurado.
Preguntas de reflexión:
- ¿Qué ventajas de rendimiento aporta reubicar el archivo de intercambio (Pagefile/Swap) desde una unidad de disco mecánico tradicional (HDD) hacia una unidad de estado sólido (SSD/NVMe)?
- ¿Por qué en determinados escenarios de tareas pesadas de edición o renderizado se recomienda establecer un tamaño personalizado fijo (mínimo y máximo iguales) para el archivo de paginación en Windows?
- ¿Qué implicaciones tiene para el rendimiento del sistema operativo que la memoria RAM física se sature por completo y comience a depender masivamente del espacio de intercambio Swap?
Haz clic aquí para ver las soluciones y explicaciones
1. ¿Qué ventajas aporta reubicar el Swap a una unidad SSD/NVMe?
Los discos mecánicos (HDD) sufren de tiempos de búsqueda elevados y velocidades de lectura/escritura secuencial y aleatoria muy limitadas (del orden de 100 MB/s). Al desplazar la memoria virtual a una unidad SSD o NVMe (cuyas velocidades superan fácilmente los 500 MB/s o varios GB/s), el sistema operativo puede realizar operaciones de paginación y trasvase de páginas de memoria de forma drásticamente más rápida, reduciendo la latencia general cuando la RAM física se queda corta.
2. ¿Por qué fijar un tamaño estático para el archivo de paginación?
Cuando el tamaño es gestionado de forma dinámica por el sistema operativo, Windows tiende a redimensionar, expandir y fragmentar el archivo de paginación conforme se ejecutan aplicaciones pesadas. Establecer un tamaño fijo inicial y máximo idéntico obliga al sistema a reservar un bloque de espacio contiguo en disco, evitando la fragmentación interna y mejorando la eficiencia de acceso a la memoria virtual.
3. ¿Qué implicaciones tiene una dependencia masiva del Swap?
Aunque el archivo de intercambio evita que el sistema falle por falta de memoria (Out of Memory), el almacenamiento secundario es órdenes de magnitud más lento que la memoria RAM física. Cuando un equipo comienza a volcar datos masivamente al Swap (fenómeno conocido como Thrashing), el rendimiento cae en picado, provocando una congelación casi total de la interfaz y una lentitud extrema en la ejecución de los programas.