Linux es un sistema operativo potente y eficiente, pero un alto uso de RAM y CPU puede degradar el rendimiento, ralentizar las aplicaciones e incluso provocar bloqueos del sistema al ejecutar un servidor, estación de trabajo o sistema integrado, por lo que optimizar el uso de recursos es esencial para un funcionamiento fluido.
En esta guía, exploraremos métodos prácticos para reducir el uso de RAM y CPU en Linux. Cubriremos herramientas de monitoreo, gestión de procesos, ajustes de kernel y técnicas de optimización del sistema para mantener su sistema funcionando eficientemente.
1. Identificar Procesos Hambrientos de Recursos
El primer paso para reducir el uso de RAM y CPU es identificar qué procesos están consumiendo la mayoría de los recursos mediante el uso de varias herramientas de línea de comandos:
a. Usando el Comando top
El comando top proporciona una vista en tiempo real de los procesos del sistema, incluido el uso de CPU y memoria.
top
- Presione
P
para ordenar los procesos por uso de CPU. - Presione
M
para ordenar los procesos por uso de memoria. - Busque procesos que consuman recursos excesivos y tome nota de su ID de Proceso (PID).

b. Usando el Comando htop
htop es un visor de procesos interactivo que proporciona una interfaz más amigable que top
.
Para instalar htop en Linux, utiliza el siguiente comando apropiado para tu distribución específica de Linux.
sudo apt install htop [On Debian, Ubuntu and Mint] sudo dnf install htop [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] sudo emerge -a sys-apps/htop [On Gentoo Linux] sudo apk add htop [On Alpine Linux] sudo pacman -S htop [On Arch Linux] sudo zypper install htop [On OpenSUSE] sudo pkg install htop [On FreeBSD]
Ejecuta htop
para ver y gestionar procesos fácilmente.
htop
- Pulsa
F6
para ordenar procesos por uso de CPU o memoria. - Pulsa
F9
para terminar un proceso seleccionado.

c. Usando el Comando ps
El comando ps se puede usar para listar procesos y su uso de recursos.
ps aux --sort=-%mem | head # Top memory-consuming processes ps aux --sort=-%cpu | head # Top CPU-consuming processes

2. Terminar Procesos Innecesarios
Una vez que hayas identificado procesos que consumen muchos recursos, puedes terminarlos para liberar recursos utilizando el comando kill seguido del PID.
kill PID
Si el proceso no se termina, usa la opción -9
para forzar su finalización.
kill -9 PID
Alternativamente, usa el comando pkill para terminar procesos por nombre.
pkill process_name
3. Optimizar Aplicaciones de Inicio
Muchas aplicaciones y servicios se inician automáticamente al arrancar, consumiendo valiosos recursos del sistema.
Para gestionar las aplicaciones de inicio:
a. Usando el comando systemctl
Lista todos los servicios habilitados usando el comando systemctl.
systemctl list-unit-files --type=service | grep enabled
Desactiva los servicios innecesarios.
sudo systemctl disable service_name

b. Usando herramientas GUI
Si estás usando un entorno de escritorio como GNOME o KDE, usa el gestor de aplicaciones de inicio incorporado para desactivar programas innecesarios.
4. Reducir Swappiness (Optimizar el uso de Swap)
Swappiness controla con qué frecuencia el sistema utiliza el espacio de swap en lugar de RAM. Un valor alto de swappiness puede llevar a un intercambio excesivo, ralentizando tu sistema.
Para verificar el valor actual de swappiness:
cat /proc/sys/vm/swappiness
El valor predeterminado suele ser 60
, pero para reducir el swappiness necesitas editar el archivo /etc/sysctl.conf
.
sudo nano /etc/sysctl.conf
Añade o modifica la siguiente línea.
vm.swappiness=10
Guarda el archivo y aplica los cambios.
sudo sysctl -p
5. Utiliza alternativas de escritorio ligeras
Los entornos de escritorio y aplicaciones pesadas pueden agotar los recursos del sistema, así que considera cambiar a alternativas más ligeras:
a. Entornos de Escritorio
Reemplace GNOME o KDE con opciones más ligeras como XFCE, LXDE, o MATE.
b. Aplicaciones
Utilice aplicaciones livianas como:
- Editor de texto: Reemplace LibreOffice con AbiWord o Mousepad.
- Navegador web: Utilice Firefox con menos extensiones o cambie a navegadores livianos como Midori.
- Gestor de archivos: Reemplace Nautilus con Thunar o PCManFM.
6. Limpiar caché y buffers
Linux utiliza la RAM para almacenar en caché archivos y mejorar el rendimiento. Sin embargo, puede limpiar la caché manualmente si es necesario:
sudo sync; sudo sysctl -w vm.drop_caches=3
Este comando limpia la caché de páginas, dentries e inodos. Úselo con precaución, ya que puede ralentizar temporalmente el acceso a archivos.
7. Optimizar parámetros del kernel
Para ajustar u optimizar los parámetros del kernel, debe editar el archivo /etc/sysctl.conf
y agregar lo siguiente o ajustar los parámetros para mejorar el rendimiento del sistema.
vm.dirty_background_ratio=5 vm.dirty_ratio=10 vm.min_free_kbytes=65536 kernel.sched_autogroup_enabled=0
Estas configuraciones controlan con qué frecuencia se escriben los datos sucios en el disco, reduciendo el uso de RAM.
8. Reducir el uso de memoria con ZRAM
Zram y Zswap son tecnologías de memoria comprimida que pueden reducir el uso de RAM.
sudo apt install zram-config sudo systemctl start zram-config
Una vez instalado, debe editar el archivo de configuración de GRUB (/etc/default/grub
) y agregar:
GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1"
Actualizar GRUB y reiniciar:
sudo update-grub sudo reboot
9. Limitar el uso de CPU de procesos
Si un proceso está acaparando la CPU, limita su uso utilizando cpulimit.
sudo apt install cpulimit # Debian/Ubuntu sudo yum install cpulimit # RHEL/CentOS
Limita un proceso (por ejemplo, firefox) a un 30% de uso de CPU.
sudo cpulimit -e firefox -l 30
Para limitar un proceso de manera permanente, usa systemd.
sudo systemctl set-property <service_name> CPUQuota=30%
10. Actualiza Regularmente Tu Sistema
Mantener tu sistema actualizado asegura que tengas las últimas mejoras de rendimiento y correcciones de errores.
sudo apt update && sudo apt upgrade # For Debian/Ubuntu sudo yum update # For CentOS/RHEL
Consejos para Solucionar Problemas
- Si un proceso no se termina con
kill
, usakill -9 PID
para forzar su terminación. - Si
zram
ozswap
no funcionan, asegúrate de que tu kernel soporte estas características. - Si el rendimiento del sistema no mejora, considera actualizar tu hardware (por ejemplo, agregando más RAM o cambiando a un SSD).
Conclusión
Optimizar el uso de RAM y CPU en Linux es una combinación de monitoreo, ajustes y, ocasionalmente, actualización de hardware. Al identificar procesos que consumen muchos recursos, ajustar configuraciones del sistema y optar por alternativas más livianas, puedes dar nueva vida a tu sistema.
¿Has probado estas técnicas de optimización? Comparte tu experiencia en los comentarios abajo o visita Tecmint.com para más guías y tutoriales de Linux.
Source:
https://www.tecmint.com/reduce-ram-cpu-usage-on-linux/