Si bien ZRAM es una solución fantástica para intercambiar algunos caballos de fuerza de la CPU para obtener más RAM, ¿cómo puede configurarlo para dedicar más o menos RAM a ZRAM? ¿Cómo se puede cambiar el algoritmo de compresión? ¿En qué escenarios valen la pena tales cambios? Siga leyendo para descubrir cómo configurar ZRAM en Ubuntu.
Verifique su estado ZRAM actual
La mayoría de las personas usan ZRAM en su Ubuntu, Mint u otra distribución compatible a través del script zram-config. Eso es porque le permite aprovechar ZRAM de la manera más sencilla posible. Puedes instalarlo con el comando:
sudo apt install zram-config
Sus valores predeterminados establecen ZRAM en la mitad de la RAM real de su computadora, dividida en múltiples particiones, una para cada núcleo de su CPU. Puedes comprobar esto con:
Puede ver un archivo de intercambio típico (la entrada «/var/cache/swap/swapfile») que coexiste con ocho volúmenes ZRAM en nuestra captura de pantalla. Mi sistema tenía 8 GB de RAM. Si suma esos volúmenes de ZRAM, la suma es de 4 GB, que es la mitad de nuestra cantidad de RAM. Sin embargo, dependiendo de su carga de trabajo, es posible que desee cambiar ese tamaño.
- Si está trabajando con multimedia y video, no se pueden comprimir mucho, por lo que probablemente sea mejor si reduce el tamaño de su ZRAM y aumenta el tamaño real de su intercambio.
- Si está trabajando con grandes bases de datos u otros tipos de datos que son altamente comprimibles, es todo lo contrario. En tales escenarios, puede aumentar la capacidad de respuesta de su computadora aumentando el tamaño de ZRAM.
Otro ajuste que vale la pena analizar tiene que ver con el algoritmo de compresión utilizado por ZRAM. De forma predeterminada, utiliza LZO o LZO-RLE, que es ligero en la CPU. Sin embargo, en las CPU modernas, el algoritmo ZSTD más nuevo generalmente ofrece mejores tasas de compresión, y no se siente su costo un poco más alto en la CPU. Vale la pena usar este algoritmo en lugar de las variantes LZO más antiguas si su PC tiene menos de una década.
Puedes usar el zramctl
Comando para verificar el algoritmo actualmente en uso por ZRAM. Escribe zramctl
en una terminal y presione Entrar para ver sus intercambios de ZRAM.
Zramctl ya debería estar disponible en su distribución. Si no es así, dado que es parte del paquete util-linux, puede incorporarlo con:
sudo apt install util-linux
Sin embargo, para controlar cómo funciona ZRAM, deberá modificar su script principal. Comencemos por cambiar la cantidad de RAM que usa.
Cambiar el tamaño de ZRAM
Para cambiar la configuración de ZRAM, deberá editar su script exec en la carpeta bin. Escribe el siguiente comando en la terminal:
sudo nano /usr/bin/init-zram-swapping
Para cambiar la cantidad de RAM utilizada por ZRAM, deberá editar la siguiente línea:
mem=$(((totalmem / 2 / ${NRDEVICES}) * 1024 ))
Esta línea define cuánta RAM usará ZRAM en función de algunos cálculos simples:
totalmem
es la cantidad de RAM instalada en tu PC/2
divide totalmem por dos, lo que se traduce como «la mitad de la cantidad total de RAM»/ ${NRDEVICES}
divide ese número por el número de núcleos en su PC* 1024
multiplica el resultado de lo anterior por 1024
No puede, y no debe, cambiar nada en los puntos 1 y 3, pero puede jugar con los valores en 2 y 4 para modificar la cantidad de RAM utilizada por ZRAM.
- Al aumentar
/ 2
a/ 4
, su cantidad total de RAM se dividiría por cuatro en lugar de dos. Por lo tanto, ZRAM usaría solo una cuarta parte de su RAM en lugar de la mitad. Le recomendamos que no dedique toda su RAM a ZRAM, por lo que es mejor dejar este valor en/ 2
o auméntelo si desea que ZRAM use menos memoria.
- Del mismo modo, manteniendo
/ 2
pero disminuyendo1024
a512
, obtendría el mismo resultado ya que estaría reduciendo a la mitad la memoria RAM disponible para cada dispositivo. Si desea que ZRAM use más RAM, puede aumentar este valor a1536
en cambio.
Cambiar el algoritmo de compresión ZRAM
Puede cambiar el algoritmo de compresión de ZRAM desde el mismo lugar.
Primero, verifique el algoritmo de compresión que usa actualmente:
cat /sys/block/zram0/comp_algorithm
Puede mezclar y combinar algoritmos en configuraciones ZRAM personalizadas avanzadas. Sin embargo, si usa los valores predeterminados, todas las particiones ZRAM usarán el mismo algoritmo. Por lo tanto, no tiene que verificarlos todos; en el comando anterior, solo estamos verificando el primero.
Ya estábamos usando el algoritmo ZSTD, que puede ver entre paréntesis en la captura de pantalla anterior. Esa se considera la mejor solución ahora entre las tasas de compresión, la velocidad y la demanda de recursos, así que déjelo como está. Sin embargo, si está utilizando los valores predeterminados, tendrá habilitado LZO o LZO-RLE. Para cambiarlo, regrese al script exec init-zram-swapping que editamos antes. Allí, busca la siguiente línea:
echo $mem > /sys/block/zram${DEVNUMBER}/disksize
Cópielo y luego péguelo directamente debajo para que tenga dos instancias del mismo comando. Esta línea asigna el resultado de los cálculos que vimos antes como el tamaño de cada volumen ZRAM. Sin embargo, lo usaremos para definir el algoritmo de compresión.
- Reemplazar
$mem
en primera instancia al comienzo de la línea conzstd
. - Reemplazar
disksize
al final de la línea concomp_algorithm
.
La línea modificada debería verse así:
echo zstd > /sys/block/zram${DEVNUMBER}/comp_algorithm
Nuestra línea modificada hace eco zstd
como el valor en el parámetro comp_algorithm
en cambio.
Si desea utilizar un algoritmo diferente, cambie zstd
en el comando anterior con el nombre del algoritmo.
Guarde el archivo modificado, reinicie su computadora y verifique los resultados.
Asegúrese de verificar el rendimiento de su sistema bajo carga cuando esté utilizando activamente sus intercambios modificados. Si siente que resopla o tartamudea, es posible que se haya excedido y necesite marcar los valores que eligió. Si, por el contrario, está volando, probablemente puedas aumentarlos un poco más.
Ahora que sabe cómo configurar ZRAM en Ubuntu, si está buscando construir una PC más potente, estas son las cosas que debe tener en cuenta al construir una PC para Linux.