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 aplicativos e até causar falhas no sistema ao executar um servidor, estação de trabalho ou sistema embarcado, 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. Abordaremos 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. Identifique 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 de processos interativo que oferece uma interface mais amigável do que o top.

Para instalar o htop no Linux, use o comando apropriado para a sua 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 comando htop para visualizar e gerenciar processos facilmente.

htop
  • Pressione F6 para ordenar 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 processos que consomem muitos recursos, você pode encerrá-los para liberar recursos usando o comando kill seguido pelo PID.

kill PID

Se o processo não encerrar, use a opção -9 para forçar o encerramento.

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 integrado para desabilitar 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 trocas excessivas, 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 e aplicativos pesados 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 em cache arquivos 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 o 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 os parâmetros do kernel, você precisa editar o arquivo /etc/sysctl.conf e adicionar o seguinte ou ajustar os 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 os 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 da CPU dos Processos

Se um processo estiver sobrecarregando a CPU, limite o uso dela usando 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 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 kill, use kill -9 PID para forçar o encerramento.
  • Se o zram ou zswap não funcionar, verifique se seu kernel suporta esses recursos.
  • Se o desempenho do sistema não melhorar, considere atualizar seu hardware (por exemplo, adicionando mais RAM ou trocando para um SSD).
Conclusão

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

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/