Configuración de swap, ZRAM y hibernación en NixOS

Fuentes: Configuring Swap, ZRAM, and Hibernate on NixOS

La gestión de la memoria virtual en NixOS es un tema complejo que requiere distinguir entre las recomendaciones para servidores y las adecuadas para estaciones de trabajo de escritorio. El autor argumenta que el uso de swap es esencial para habilitar la hibernación (S4), un modo de suspensión que permite recuperar el estado del sistema sin reiniciarlo, a diferencia de la suspensión simple (S3). Para lograr esto, se recomienda utilizar particiones de swap en lugar de archivos de swap, ya que los archivos complican la recuperación de la hibernación al requerir que el initramfs conozca la ubicación exacta del espacio de swap antes de montar los sistemas de archivos, un detalle crítico en sistemas UEFI.

En cuanto a la optimización, el texto detalla la configuración actual del autor, que utiliza swap en disco con Zswap activado. Se explica que, aunque el kernel de Linux predetermina la compresión LZO, NixOS utiliza por defecto Zstd debido a su mejor relación de compresión, lo que permite almacenar más páginas en la memoria comprimida y reduce el uso del disco. El autor critica el uso incorrecto de ZRAM (zramSwap) para sistemas con swap en disco, señalando que Zswap es la opción adecuada para mejorar el rendimiento en SSDs. Se recomienda un valor de swappiness de 100 para SSDs, aunque se advierte que este parámetro debe ajustarse según el hardware específico. El artículo sirve como guía didáctica para entender las diferencias entre estas herramientas y cómo configurarlas correctamente en NixOS para maximizar el rendimiento y la estabilidad.