En Canonical, estamos orgullosos de ofrecer la experiencia completa de Ubuntu Desktop en Raspberry 4. Ubuntu Desktop proporciona todo lo que necesita para desarrollar software e incluso implementarlo en Ubuntu Server en dispositivos como Raspberry Pi Zero 2 W.
Sin embargo, un entorno de escritorio completo es mucho para Pi. Hasta ahora, recomendamos que los usuarios se ciñan al modelo de 4 GB u 8 GB de RAM para asegurarse de que funciona bien. Uno de los objetivos de nuestro próximo lanzamiento de Ubuntu 22.04 LTS es reducir las barreras de entrada. Esto significa una experiencia de escritorio viable para el modelo Raspberry Pi 4 de 2 GB.
El secreto de esta optimización es una característica del kernel de Linux llamada zswap. En este blog, le mostraremos cómo habilitar esta función hoy y beneficiarse de las mejoras de rendimiento que vienen como estándar en 22.04.
Tabla de Contenidos
¿Qué es zswap?
Para responder a esta pregunta, debemos hablar sobre los archivos de intercambio en general.
Si está ejecutando algún tipo de sistema Linux, es muy probable (y recomendado) que tenga un archivo de intercambio asignado en su disco duro o tarjeta SD. El archivo de intercambio actúa como una especie de desbordamiento de RAM, almacenando en caché páginas que rara vez se usan para liberar RAM para procesos más activos. Esto le permite continuar trabajando incluso cuando el sistema está usando casi toda la memoria RAM. Sin embargo, el uso de intercambio no es tan eficaz como el uso de RAM porque el acceso al disco duro (o tarjeta SD) es más lento.
Puede leer más sobre el intercambio en la documentación de Ubuntu.
Bien, ¿de dónde viene zswap? Zswap es esencialmente una herramienta de compresión. Cuando un proceso está a punto de moverse al archivo de intercambio, zswap lo comprime y verifica si el nuevo tamaño más pequeño todavía necesita moverse o si puede permanecer en su RAM. Desempaquetar páginas «zswapped» es mucho más rápido que acceder al archivo de intercambio, por lo que esta es una excelente manera de aprovechar al máximo un sistema con menos RAM.
Suena bien, ¿cómo lo habilito?
Dado que zswap es compatible de forma predeterminada, puede habilitarlo con un simple comando.
Introduce lo siguiente en la terminal:
$ sudo sed -i -e 's/$/ zswap.enabled=1/' /boot/firmware/cmdline.txt
Para los nuevos usuarios de Linux, este comando básicamente edita línea de comando.txt Inicie el archivo en la carpeta y configure zswap.habilitado argumento es «verdadero» (1).
¡Después de hacer esto, puede reiniciar su dispositivo y beneficiarse del aumento de rendimiento!
Yendo un paso más allá…
Si no es un usuario seguro de Linux, puede detenerse. Lo anterior debería haber mejorado el rendimiento de una Raspberry Pi existente de 4GB u 8GB. Pero eso aún no proporciona el mejor rendimiento en un dispositivo de 2 GB.
Para usuarios más avanzados, Dave Jones, quien dirige el trabajo de Ubuntu Raspberry Pi en Canonical, tiene algunas mejoras adicionales para compartir.Escribió una publicación de blog más detallada sobre cómo blog personal, pero los explicaremos a continuación.
Cambiar a z3fold y lz4
Las otras dos mejoras que queremos implementar son:
- llegar Aumente la cantidad de objetos comprimidos usando un asignador llamado z3 veces.
- utiliza un algoritmo de compresión diferente, llamado lz4 Esto proporciona un mejor equilibrio entre velocidad y compresión.
Introduce el siguiente comando en la terminal:
$ sudo -i
Esto le pedirá una contraseña y lo pondrá en modo raíz, donde puede ingresar los siguientes comandos:
# echo lz4 >> /etc/initramfs-tools/modules
# echo z3fold >> /etc/initramfs-tools/modules
# update-initramfs -u
Esto agregará los módulos lz4 y z3fold a su initramfs para que se pueda acceder a ellos en el momento de la inicialización.Espere actualizar-initramfs El proceso está completo, luego escriba:
# exit
Vuelva al modo de usuario normal.
Finalmente, necesitamos agregar el siguiente comando a su línea de comando.txt Archivo similar al anterior:
$ sudo sed -i -e 's/$/ zswap.compressor=lz4/' /boot/firmware/cmdline.txt
$ sudo sed -i -e 's/$/ zswap.zpool=z3fold/' /boot/firmware/cmdline.txt
luego reinicie (simplemente puede escribir reiniciar en la terminal).
Puedes comprobar si el cambio es correcto utilizando el parámetro de búsqueda grep:
$ grep -R . /sys/module/zswap/parameters
Si lo ha configurado correctamente, la salida debería verse así:
/sys/module/zswap/parameters/same_filled_pages_enabled:Y
/sys/module/zswap/parameters/enabled:Y
/sys/module/zswap/parameters/max_pool_percent:20
/sys/module/zswap/parameters/compressor:lz4
/sys/module/zswap/parameters/zpool:z3fold
/sys/module/zswap/parameters/accept_threshold_percent:90
¡El escritorio de Ubuntu en Raspberry Pi tiene un aumento de velocidad!
No se preocupe si el tutorial anterior parece un poco complicado. Cuando se lance Ubuntu 22.04 en abril, estas optimizaciones se incluirán de forma predeterminada en todos los dispositivos Raspberry Pi 4, ¡incluido el 400!
Pero si realiza estos cambios y los prueba en una Raspberry Pi 4 de 2 GB, nos encantaría ver cuánto mejora su rendimiento. Háganos saber si cree que proporciona una experiencia de escritorio Ubuntu premium para usuarios de 2 GB.
Puede contactarnos a través de la categoría Raspberry Pi de Ubuntu Discourse.