Cómo reducir el uso de RAM y CPU en Linux
(tecmint.com)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
En Asahi Linux usan zswap y desactivan zram
https://web.archive.org/web/20241126234212/…
https://social.treehouse.systems/@AsahiLinux/113532720695827142
No conocía
zram, así que le pregunté a qwq:32b qué desventajas podría tener.¿Por qué las distribuciones de Linux no activan
zramde 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
zramtambién baja.Riesgo de carga en la CPU:
zrampuede 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
zrames relativamente menos notable que antes.Diversidad de entornos de usuario:
zramsolo 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
zrampor 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.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.
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.
¿
zramyzswapson cosas distintas?sudo apt install zram-toolssystemctl enable zramswapLo uso así, pero no sé si eso es
zswap..Los nombres técnicos son bastante confusos.
zrames 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 deswapnormal, como el que ya conocemos, eso termina ofreciendo una especie deswapbasado en RAM + compresión. Parece que el serviciozramswapcumple justamente ese papel. Pero después, al considerarse que este caso de uso era útil,zram+swapse integraron por completo como una función del kernel. Eso eszswap.zswappuede 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)