7+ tips para mejorar el rendimiento de tu GNU/Linux


La Internet está llena de tips y trucos para mejorar el rendimiento de tu sistema operativo Linux (en escritorio y/o servidores) pero... ¿Cuáles de todos estos tips realmente funcionan? en este post daremos un vistazo a todos los tips que no sólo realmente hacen la diferencia, sino que también son seguros de implementar en tus equipos (ya que hay algunos que la gente recomienda pero que conllevan riesgos importantes o comportamiento inesperado); Veamos pues:

1) Preload (desktop)

Si tienes un equipo más de 4GB de RAM y lo usas para trabajo común (no para servidor) preload puede valer la pena. Se trata de un daemon que consumirá unos cuantos megas de tu RAM, pero hará que las aplicaciones que más uses (conforme pase el tiempo) abran cada vez más rápido. Es una buena utilidad si esto te interesa, aunque si tienes poca RAM (o la llenas demasiado rápido) deberías considerar desactivarlo si lo tienes actualmente en uso (ya que mínimo en promedio se lleva de 80 a 100 valiosos MB de RAM para cumplir con su trabajo) y cualquier beneficio que pudiera representar se ve mermado ante la falta de memoria disponible.

2) zRAM/Zswap (desktop/server)

Estos son compresores de paginación y optimizadores de RAM/Swap. Incluso en equipos con poca memoria disponible, ambos hacen una buena diferencia (sólo es recomendable usar uno o el otro) y vale la pena habilitarlos según el que soporte tu distro. En mi experiencia personal, para Ubuntu y Derivadas activo zRAM (basta con instalar el paquete zram-config) y para todas las demás, hallo la habilitación de Zswap más simple.

 Haz tu Linux más rápido con Zwap

3) Tuned (desktop/server)

Tuned es un daemon especial creado por Red Hat para sistemas Fedora/CentOS/RHEL (Aunque también es posible usarlo en Ubuntu y derivadas ahora) que lo que hace es permitir al usuario seleccionar un perfil de rendimiento específico para su equipo, cambiando con un solo comando settings de I/O, frecuencia del CPU, gestión de energía, parámetros del kernel (sysctl) y otros para que el equipo se comporte acorde al perfil deseado. Es difícil de explicar, pero en resumen Tuned incluso puede lograr que una unidad de almacenamiento estándar (el HDD de una computadora de escritorio) se vuelva casi tan confiable y eficiente como la de un servidor de storage, (tengamos en cuenta que por ejemplo lo que hace más lenta a una computadora en realidad es el I/O al HDD y no tanto por ejemplo qué tanta RAM o no tenga disponible como popularmente se cree) So, tuned es una buena herramienta y en lo personal la tengo habilitada en todos mis equipos (tanto de uso personal como servidores).


4) Ext4 relatime (desktop/server)

Si tienes particiones Ext4 en tu sistema, con el paso del tiempo (y conforme las vayas llenando de archivos) notarás que la lectura/escritura de data a través de éstas se hace cada vez más lenta/laggy. Esto se debe a que Ext4 por defecto hace logging de el tiempo (fecha y hora exactas) al que por última vez accedió a un archivo y cada que lo lee/se topa con dicho archivo revisa ese journal; Imagínate que está funcionando como si fuera el portero de un edificio que antes de dejarte entrar revisa entre hojas y hojas y hojas si tu nombre "está en la lista" (si te ha visto antes) para concederte el acceso. Obviamente una persona se tardaría bastante, y en una computadora esto se traduce en unos cuantos segundos de lag que uno "siente" en el uso diario de sus particiones Ext4.

Para evitar este comportamiento (sin tener riesgos de corrupción de data o algo similar) simplemente en nuestro /etc/fstab vamos a añadir la mount option relatime a todas nuestras particiones Ext4 como se ve a continuación:


Tras hacer esto, el rendimiento se verá incrementado bastante en nuestro sistema, siendo la prueba más obvia acceso más rápido a nuestra carpeta personal (u otras que tengamos en particiones Ext4) velocidades de lectura/escritura más rápidas, etc. Hay muchas mount options pululando en internet para "hacer que ext4 funcione más rápido" pero habilitar relatime es la única que de veras nos da un beneficio sin cobrarse nada a cambio (suponer un riesgo ante ciertos escenarios) en la mayoría de los casos como otras de las recomendadas en la red.

5) Mejorar el Rendimiento de Chrome

Mejorar el rendimiento de Google Chrome (y derivados) en Linux/Mac/Windows.

6) Quitar procesos del arranque (desktop/server)

Todas las distros tienen una manera de checar cuanto se tardan en arrancar y qué procesos están tomando más tiempo. En distros con SystemD (Fedora, Arch, OpenSUSE etc) podemos ejecutar (como root) el siguiente comando:

# systemd-analyze blame

y éste nos dará una idea de cuánto está tardando nuestro arranque, además de qué procesos/daemons tenemos habilitados al inicio del sistema. Luego podemos deshabilitar los que no queramos con los comandos:

# systemctl disable service_name.service
# systemctl mask service_name.service

Según corresponda. Les sugiero investigar bien qué servicios pueden deshabilitar del arranque y cuáles no antes de hacerlo, pues pueden incluso dejar sus equipos sin bootear al desactivar procesos que a ustedes les parezcan irrelevantes (más sin embargo son necesarios para el equipo) como es el caso de Plymouth y compañía en algunas situaciones (díganmelo a mi).

6.1) Quitar programas del arranque de sesión (desktop)

También, hay servicios/programas que inician con nuestro escritorio y que sin embargo no siempre son necesarios. Podemos deshabilitarlos para tener un arranque más rápido (y menos RAM consumida) al usar la computadora. En GNOME y escritorios derivados por ejemplo simplemente presionamos Alt+F2 y esciribimos:

$ gnome-session-properties

Luego presionamos ENTER y nos saldrá una ventana donde podremos desmarcar los servicios/programas/daemons que no queramos al arranque de nuestra sesión:



Y en las últimas versiones de GNOME donde esto ya no funciona siempre está la famosa tweak tool:


7) Kernel VM Tunings

Mejora la administración de memoria (y otras cuestiones) con estas modificaciones:

Kernel VM tunings para mejorar rendimiento en Linux

Extra: ¿Tienes un SSD?

SSD en Linux: 10+ Tips & Tweaks

Y con esto terminamos la lista de tips que sí hacen la diferencia para aumentar el rendimiento en GNU/Linux. ¡A aplicarlos!