27 puntos por baeba 2025-05-13 | 6 comentarios | Compartir por WhatsApp

Linux es un sistema operativo eficiente, pero el uso excesivo de RAM y CPU puede provocar una baja de rendimiento e inestabilidad del sistema.
Este artículo explica métodos prácticos de optimización, como herramientas de monitoreo, gestión de procesos y ajustes del kernel.


1. Encontrar procesos que consumen muchos recursos

Usa los comandos top, htop y ps para identificar los procesos con mayor uso de CPU y memoria.
Recuerda el PID para usarlo en acciones posteriores.

# top  
top          # P: ordenar por CPU, M: ordenar por memoria  
  
# instalar y ejecutar htop  
sudo apt install htop  
htop         # F6: ordenar, F9: terminar  
  
# comando ps  
ps aux --sort=-%mem | head  
ps aux --sort=-%cpu | head  

2. Terminar procesos innecesarios

Con los comandos kill, kill -9 y pkill puedes cerrar procesos que consumen demasiados recursos.
Los procesos que no responden pueden forzarse a terminar o cerrarse en lote por nombre.

kill PID  
kill -9 PID  
pkill process_name  

3. Optimizar los programas de inicio automático

Con systemctl puedes revisar los servicios que se ejecutan automáticamente al arrancar y desactivar los que no sean necesarios.
En entornos GUI, también puedes usar el administrador de aplicaciones de inicio.

systemctl list-unit-files --type=service | grep enabled  
sudo systemctl disable nombre_del_servicio  

4. Ajustar swappiness

Swappiness es una configuración que controla con qué frecuencia se usa la memoria swap.
Si bajas el valor predeterminado de 60 a 10, se prioriza el uso de RAM, lo que puede ayudar a mejorar el rendimiento.

cat /proc/sys/vm/swappiness  
sudo nano /etc/sysctl.conf  # agregar vm.swappiness=10  
sudo sysctl -p  

5. Usar un entorno de escritorio ligero

Si usas entornos de escritorio ligeros como XFCE, LXDE o MATE en lugar de GNOME o KDE, puedes ahorrar recursos.
Lo mismo aplica para las apps: puedes reemplazarlas por editores, navegadores y administradores de archivos más ligeros.


6. Limpiar caché y búferes manualmente

Linux usa la RAM como caché para mejorar el rendimiento, pero si hace falta también es posible limpiarla manualmente.
Eso sí, puede haber una baja temporal de rendimiento, así que conviene hacerlo con cuidado.

sudo sync; sudo sysctl -w vm.drop_caches=3  

7. Optimizar parámetros del kernel

Puedes mejorar la gestión de recursos modificando parámetros del kernel, como la frecuencia de escritura en disco o la cantidad mínima de RAM reservada.

# ejemplo de parámetros agregados en /etc/sysctl.conf  
vm.dirty_background_ratio=5  
vm.dirty_ratio=10  
vm.min_free_kbytes=65536  
kernel.sched_autogroup_enabled=0  

8. Usar ZRAM

ZRAM es una función que comprime la memoria y resulta efectiva para ahorrar RAM.
Si también configuras Zswap, se habilita el swap basado en compresión.

sudo apt install zram-config  
sudo systemctl start zram-config  
  
# agregar configuración de GRUB  
sudo nano /etc/default/grub  
GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1"  
sudo update-grub  
sudo reboot  

9. Limitar el uso de CPU de un proceso

Con el comando cpulimit puedes limitar el uso de CPU de un proceso específico.
También es posible establecer un límite permanente con la configuración de systemd.

sudo apt install cpulimit  
sudo cpulimit -e firefox -l 30  # limitar firefox al 30%  
  
# configurar con systemd  
sudo systemctl set-property nombre_del_servicio CPUQuota=30%  

10. Actualizar el sistema periódicamente

Las actualizaciones más recientes ayudan a mejorar el rendimiento y corregir errores, por lo que deben aplicarse de forma regular.

sudo apt update && sudo apt upgrade    # Debian/Ubuntu  
sudo yum update                        # RHEL/CentOS  

6 comentarios

 
wls52 2025-05-13

No conocía zram, así que le pregunté a qwq:32b qué desventajas podría tener.

¿Por qué las distribuciones de Linux no activan zram de forma predeterminada?

Porque los problemas de falta de memoria en los sistemas modernos han disminuido: hoy en día, la mayoría de las PC vienen con 4 GB de RAM o más de base. En entornos donde los problemas de memoria son menores, la necesidad de zram también baja.

Riesgo de carga en la CPU: zram puede aumentar el uso de CPU, por lo que no es seguro para todo tipo de hardware.
Como las distribuciones priorizan un "entorno general", puede que no consideren que valga la pena asumir el sobrecosto de CPU de zram.

Cambio en la forma de uso predeterminada del swap: con la popularización de los SSD, la velocidad del swap tradicional en disco ha mejorado mucho.
La ventaja de velocidad de zram es relativamente menos notable que antes.

Diversidad de entornos de usuario: zram solo es efectivo en entornos específicos (por ejemplo, dispositivos de bajos recursos) y no ofrece grandes beneficios para los usuarios en general.
Como las distribuciones buscan "máxima compatibilidad con la mínima configuración", no activan zram por defecto.

Complejidad de configuración: para optimizar zram, hay que ajustar manualmente su tamaño, el algoritmo de compresión, etc., y a los usuarios comunes puede resultarles difícil entenderlo.

 
secret3056 2025-05-13

En macOS también se usa activamente la compresión de memoria.

> ¿Por qué las distribuciones de Linux no activan zram de forma predeterminada?

Fedora 33 y openSUSE lo activan de forma predeterminada desde Aeon.
Siempre hay que ver primero los benchmarks, pero podría ser más útil de lo que parece.

 
hoonix 2025-05-13

zswap es bastante útil. En macOS incluso es una opción con una función similar activada por defecto. Funciona bien cuando abres el navegador o muchas apps en entornos con recursos limitados, como una laptop. Eso sí, como mencionaste, tiene ese trade-off con el CPU, así que probablemente sí afecte la batería.

 
fanotify 2025-05-13

¿zram y zswap son cosas distintas?
sudo apt install zram-tools
systemctl enable zramswap
Lo uso así, pero no sé si eso es zswap..

 
hoonix 2025-05-13

Los nombres técnicos son bastante confusos. zram es una función del kernel que crea un dispositivo de bloques con compresión automática, es decir, una especie de almacenamiento. Y si encima de ese almacenamiento creamos y usamos un archivo de swap normal, como el que ya conocemos, eso termina ofreciendo una especie de swap basado en RAM + compresión. Parece que el servicio zramswap cumple justamente ese papel. Pero después, al considerarse que este caso de uso era útil, zram + swap se integraron por completo como una función del kernel. Eso es zswap. zswap puede activarse en la mayoría de las distribuciones Linux solo con comandos, sin necesidad de instalar nada por separado. (Referencia: https://wiki.archlinux.org/title/Zswap)