Bitácora de EleKtR0

English - Italiano - Deutsch - Français - Português - русский

21 de mayo de 2020

Configuración de swap con zram

Para usar dispositivos zram en la configuración de swap en Fedora es tan sencillo como instalar el paquete zram y configurar el fichero /etc/zram.conf con el porcentaje de memoria que asignaremos como swap pero en otras distribuciones lo más sencillo es configurar una regla de udev para asignar la memoria que queramos, formatear el dispositivo con mkswap y configurarlo en /etc/fstab con una prioridad alta para que se use preferiblemente antes que la swap en disco.


Para estas distribuciones donde no es tan sencillo como instalar un paquete y arrancar un servicio, pongo este script donde uso 1024M de memoria para swap con algoritmo de compresión lz4:


echo "zram" > /etc/modules-load.d/zram.conf

echo "options zram num_devices=1" > /etc/modprobe.d/zram.conf

echo 'KERNEL=="zram0", ATTR{disksize}="1024M", ATTR{comp_algorithm}="lz4", \
RUN="/sbin/mkswap /dev/zram0", TAG+="systemd"' > /etc/udev/rules.d/99-zram.rules

echo "/dev/zram0 none swap defaults,pri=1000  0 0" >> /etc/fstab


Hay que tener en cuenta la ruta del comando mkswap, que en derivados de RedHat está en /sbin, y la cantidad máxima de memoria que queremos asignar como swap comprimida, en este ejemplo es 1024M. El algoritmo de compresión usado por defecto es lzo pero lz4 es más rápido al comprimir / descomprimir. Los algoritmos de compresión disponibles dependen de las opciones de compilación del kernel usado. Pueden consultarse con el comando cat /sys/block/zram0/comp_algorithm

Al reiniciar el sistema el comando zramctl debe mostrarnos el dispositivo /dev/zram0 con la memoria usada tras comprimir y lo que ocuparía sin comprimir. El comando cat /proc/swaps debe mostrar los dispositivos de swap configurados, el uso de cada uno y su prioridad. Se hará uso de dispositivos de swap por orden de prioridad de mayor a menor

Recordar que si se hace un uso intensivo de swap habrá un mayor uso de CPU al comprimir / descomprimir las páginas de memoria que entran o salen del dispositivo zram

Etiquetas: , , , ,