Hace un par de semanas publiqué
Después de instalar Raspberry Pi en su
Activando ZRAM en Raspberry Pi
La Raspberry Pi 4 viene con 1, 2, 4 u 8 GB de RAM. Usaré el modelo de 1 GB, así que ajuste las instrucciones según su modelo. Con 1 GB de ZRAM, el archivo de intercambio predeterminado (¡lento!) se utilizará con menos frecuencia. Usé este script
Las instrucciones se proporcionan en el repositorio vinculado anteriormente. Instalación:
git clone https://github.com/foundObjects/zram-swap.git
cd zram-swap && sudo ./install.sh
Si desea editar la configuración:
vi /etc/default/zram-swap
Además, puede activar ZRAM instalando zram-tools
. Si utiliza este método, asegúrese de editar la configuración en archivo /etc/default/zramswap
e instale aproximadamente 1 GB de ZRAM:
sudo apt install zram-tools
Después de la instalación, puede ver las estadísticas de almacenamiento de ZRAM con el siguiente comando:
sudo cat /proc/swaps
Filename Type Size Used Priority
/var/swap file 102396 0 -2
/dev/zram0 partition 1185368 265472 5
pi@raspberrypi:~ $
Agregar parámetros del kernel para un mejor uso de ZRAM
Ahora arreglemos el comportamiento del sistema cuando Raspberry Pi cambia al modo de intercambio en el último momento, lo que a menudo conduce a congelaciones. Agreguemos algunas líneas al archivo. /etc/sysctl.conf y reiniciar.
Estas líneas 1) retrasará el inevitable agotamiento de la memoria, aumentando la presión sobre la caché del kernel y 2) Comienzan a prepararse antes para el agotamiento de la memoria., iniciando el intercambio por adelantado. ¡Pero será mucho más eficiente intercambiar memoria comprimida a través de ZRAM!
Aquí están las líneas para agregar al final del archivo. /etc/sysctl.conf:
vm.vfs_cache_pressure=500
vm.swappiness=100
vm.dirty_background_ratio=1
vm.dirty_ratio=50
Luego reiniciamos el sistema o activamos los cambios con el siguiente comando:
sudo sysctl --system
vm.vfs_cache_pression=500 aumenta la presión de la caché, lo que aumenta la tendencia del kernel a recuperar la memoria utilizada para almacenar en caché el directorio y los objetos de indexación. Utilizará menos memoria durante un período de tiempo más largo. La fuerte caída del rendimiento se ve compensada por un intercambio más temprano.
vm.intercambio=100 aumenta el parámetro con qué agresividad el núcleo intercambiará las páginas de memoria, ya que estamos usando ZRAM primero.
vm.dirty_background_ratio=1 y vm.dirty_ratio=50 - Los procesos en segundo plano comenzarán a grabar inmediatamente al alcanzar el límite del 1%, pero el sistema no forzará la E/S síncrona hasta que alcance una relación sucia del 50%.
Estas cuatro líneas (cuando se usan con ZRAM) ayudarán a mejorar el rendimiento si tiene inevitablemente Se acaba la RAM y comienza la transición a swap, como la mía. Sabiendo este hecho, y también teniendo en cuenta la compresión de la memoria en ZRAM tres veces, es mejor iniciar este intercambio con antelación.
Ejercer presión sobre el caché ayuda porque esencialmente le estamos diciendo al kernel: "Oye, mira, no tengo memoria adicional para usar en el caché, así que deshazte de ella lo antes posible y almacena solo la información más utilizada/importante". datos."
Incluso con un almacenamiento en caché reducido, si con el tiempo la mayor parte de la memoria instalada está ocupada, el kernel comenzará el intercambio oportunista mucho antes, de modo que la CPU (compresión) y las E/S de intercambio no esperarán hasta el último minuto y utilizarán todos los recursos a la vez cuando es muy tarde. ZRAM usa un poco de CPU para la compresión, pero en la mayoría de los sistemas con pequeñas cantidades de memoria tiene un impacto mucho menor en el rendimiento que el intercambio sin ZRAM.
en conclusión
Veamos el resultado nuevamente:
pi@raspberrypi:~ $ free -h
total used free shared buff/cache available
Mem: 926Mi 471Mi 68Mi 168Mi 385Mi 232Mi
Swap: 1.2Gi 258Mi 999Mi
pi@raspberrypi:~ $ sudo cat /proc/swaps
Filename Type Size Used Priority
/var/swap file 102396 0 -2
/dev/zram0 partition 1185368 264448 5
264448 en ZRAM es casi un gigabyte de datos sin comprimir. Todo fue a ZRAM y nada fue al archivo de página mucho más lento. Pruebe estas configuraciones usted mismo, funcionan en todos los modelos de Raspberry Pi. Mi sistema de congelación inutilizable se ha convertido en uno funcional y estable.
En un futuro cercano, espero continuar y actualizar este artículo con algunos resultados de las pruebas del sistema antes y después de instalar ZRAM. Ahora simplemente no tengo tiempo para esto. Mientras tanto, siéntete libre de realizar tus propias pruebas y házmelo saber en los comentarios. La Raspberry Pi 4 es una bestia con esta configuración. ¡Disfrutar!
Sobre el tema:
Fuente: habr.com