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 esos cambios? Siga leyendo para descubrir cómo configurar ZRAM en Ubuntu.
Verifique su estado actual de ZRAM
La mayoría de la gente usa 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:
cat /proc/swaps
Puede ver un archivo de intercambio típico (la entrada “/ var / cache / swap / swapfile”) coexistiendo con ocho volúmenes ZRAM en nuestra captura de pantalla. Mi sistema tenía 8 GB de RAM. Si agrega esos volúmenes ZRAM juntos, la suma es 4GB, 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, estos no son muy comprimibles, 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, sucede 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 considerar tiene que ver con el algoritmo de compresión utilizado por ZRAM. De forma predeterminada, usa 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 algo mayor 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 ZRAM.
Zramctl ya debería estar disponible en su distribución. Si no es así, ya que es parte del paquete util-linux, puede incorporarlo con:
sudo apt install util-linux
Sin embargo, para controlar cómo funciona ZRAM, tendrá que modificar su guión principal. Comencemos por cambiar la cantidad de RAM que usa.
Cambiar el tamaño de ZRAM
Para cambiar la configuración de ZRAM, tendrá que editar su script de ejecución en la carpeta bin. Escriba 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 la cantidad de RAM que utilizará ZRAM en función de algunos cálculos simples:
-
totalmem
es la cantidad de RAM instalada en su PC -
/2
divide totalmem por dos, lo que se traduce en «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 ajustar la cantidad de RAM utilizada por ZRAM.
- Aumentando
/ 2
a/ 4
, la cantidad total de RAM se dividirá entre cuatro en lugar de dos. Por lo tanto, ZRAM usaría solo una cuarta parte de su RAM en lugar de la mitad. No recomendamos dedicar 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 decreciendo1024
a512
, obtendría el mismo resultado ya que reduciría a la mitad la RAM disponible para cada dispositivo. Si desea que ZRAM use más RAM, puede aumentar este valor a1536
en lugar de.
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 está utilizando los valores predeterminados, todas las particiones ZRAM utilizará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. Eso se considera la mejor solución ahora entre tasas de compresión, velocidad y 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í, busque 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 principio 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 lugar de.
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é usando activamente sus intercambios ajustados. Si siente que resuena o tartamudea, es posible que se haya exagerado y deba reducir los valores que eligió. Si, por otro lado, 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 poderosa, estas son las cosas que debe tener en cuenta al construir una PC para Linux.