Como Reduzir o Uso de RAM e CPU no Linux

Linux é um sistema operacional poderoso e eficiente, mas o alto uso de RAM e CPU pode degradar o desempenho, desacelerar aplicações e até causar falhas no sistema ao executar um servidor, estação de trabalho ou sistema embutido, e otimizar o uso de recursos é essencial para um funcionamento suave.

Neste guia, exploraremos métodos práticos para reduzir o uso de RAM e CPU no Linux. Vamos abordar ferramentas de monitoramento, gerenciamento de processos, ajustes no kernel e técnicas de otimização do sistema para manter seu sistema funcionando de forma eficiente.

1. Identificar Processos que Consomem Muitos Recursos

O primeiro passo para reduzir o uso de RAM e CPU é identificar quais processos estão consumindo mais recursos utilizando várias ferramentas de linha de comando:

a. Usando o Comando top

O comando top fornece uma visão em tempo real dos processos do sistema, incluindo o uso de CPU e memória.

top
  • Pressione P para classificar os processos por uso de CPU.
  • Pressione M para classificar os processos por uso de memória.
  • Procure por processos que consomem recursos excessivos e anote seu ID de Processo (PID).
Real-Time System Process Monitoring

b. Usando o Comando htop

htop é um visualizador interativo de processos que oferece uma interface mais amigável do que o top.

Para instalar o htop no Linux, use o seguinte comando apropriado para a distribuição Linux específica.

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]

Execute o htop para visualizar e gerenciar processos facilmente.

htop
  • Pressione F6 para classificar os processos por uso de CPU ou memória.
  • Pressione F9 para encerrar um processo selecionado.
htop – Interactive Process Viewer

c. Usando o Comando ps

O comando ps pode ser usado para listar processos e seu uso de recursos.

ps aux --sort=-%mem | head  # Top memory-consuming processes
ps aux --sort=-%cpu | head  # Top CPU-consuming processes
Check Memory Consuming Processes

2. Encerrar Processos Desnecessários

Depois de identificar os processos que consomem recursos, você pode encerrá-los para liberar recursos usando o comando kill seguido do PID.

kill PID

Se o processo não for encerrado, use a opção -9 para encerrá-lo forçadamente.

kill -9 PID

Alternativamente, use o comando pkill para encerrar processos pelo nome.

pkill process_name

3. Otimizar Aplicativos de Inicialização

Muitos aplicativos e serviços iniciam automaticamente na inicialização, consumindo recursos valiosos do sistema.

Para gerenciar aplicativos de inicialização:

a. Usando o comando systemctl

Liste todos os serviços habilitados usando o comando systemctl.

systemctl list-unit-files --type=service | grep enabled

Desative serviços desnecessários.

sudo systemctl disable service_name
List Enabled Services

b. Usando ferramentas GUI

Se você estiver usando um ambiente de desktop como GNOME ou KDE, use o gerenciador de aplicativos de inicialização embutido para desativar programas desnecessários.

4. Reduzir Swappiness (Otimizar o Uso de Swap)

Swappiness controla com que frequência o sistema usa espaço de swap em vez de RAM. Um valor alto de swappiness pode levar a uma troca excessiva, desacelerando seu sistema.

Para verificar o valor atual de swappiness:

cat /proc/sys/vm/swappiness

O valor padrão é geralmente 60, mas para reduzir o swappiness você precisa editar o arquivo /etc/sysctl.conf.

sudo nano /etc/sysctl.conf

Adicione ou modifique a seguinte linha.

vm.swappiness=10

Salve o arquivo e aplique as alterações.

sudo sysctl -p

5. Use alternativas de desktop leves

Ambientes de desktop pesados e aplicativos podem sobrecarregar os recursos do sistema, então considere mudar para alternativas leves:

a. Ambientes de Desktop

Substitua GNOME ou KDE por opções mais leves como XFCE, LXDE ou MATE.

b. Aplicativos

Use aplicativos leves como:

  • Editor de Texto: Substitua LibreOffice por AbiWord ou Mousepad.
  • Navegador Web: Use Firefox com menos extensões ou mude para navegadores leves como Midori.
  • Gerenciador de Arquivos: Substitua Nautilus por Thunar ou PCManFM.

6. Limpar Cache e Buffers

O Linux usa RAM para armazenar arquivos em cache e melhorar o desempenho. No entanto, você pode limpar o cache manualmente se necessário:

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

Este comando limpa pagecache, dentries e inodes. Use-o com cautela, pois pode desacelerar temporariamente o acesso a arquivos.

7. Otimizar Parâmetros do Kernel

Para ajustar ou otimizar parâmetros do kernel, você precisa editar o arquivo /etc/sysctl.conf e adicionar o seguinte ou ajustar parâmetros para melhorar o desempenho do sistema.

vm.dirty_background_ratio=5
vm.dirty_ratio=10
vm.min_free_kbytes=65536
kernel.sched_autogroup_enabled=0

Essas configurações controlam com que frequência dados “sujos” são gravados no disco, reduzindo o uso de RAM.

8. Reduzir o Uso de Memória com ZRAM

O Zram e o Zswap são tecnologias de memória comprimida que podem reduzir o uso de RAM.

sudo apt install zram-config 
sudo systemctl start zram-config

Uma vez instalado, você precisa editar o arquivo de configuração do GRUB (/etc/default/grub) e adicionar:

GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1"

Atualize o GRUB e reinicie:

sudo update-grub
sudo reboot

9. Limitar o Uso de CPU dos Processos

Se um processo estiver consumindo muito CPU, limite seu uso usando o cpulimit.

sudo apt install cpulimit  # Debian/Ubuntu  
sudo yum install cpulimit  # RHEL/CentOS  

Limite um processo (por exemplo, firefox) a 30% de uso da CPU.

sudo cpulimit -e firefox -l 30

Para limitar permanentemente um processo, use o systemd.

sudo systemctl set-property <service_name> CPUQuota=30%

10. Atualize regularmente seu sistema

Manter seu sistema atualizado garante que você tenha as últimas melhorias de desempenho e correções de bugs.

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

Dicas de solução de problemas

  • Se um processo não encerrar com o comando kill, use kill -9 PID para forçar seu encerramento.
  • Se o zram ou zswap não funcionarem, verifique se seu kernel suporta esses recursos.
  • Se o desempenho do sistema não melhorar, considere fazer um upgrade de hardware (por exemplo, adicionar mais RAM ou trocar para um SSD).
Conclusão

Otimizar o uso de RAM e CPU no Linux é uma combinação de monitoramento, ajustes e, ocasionalmente, upgrade de hardware. Ao identificar processos que consomem muitos recursos, ajustar as configurações do sistema e optar por alternativas leves, você pode dar vida nova ao seu sistema.

Você já tentou essas técnicas de otimização? Compartilhe sua experiência nos comentários abaixo ou visite Tecmint.com para mais guias e tutoriais sobre Linux.

Source:
https://www.tecmint.com/reduce-ram-cpu-usage-on-linux/