27 pontos por baeba 2025-05-13 | 6 comentários | Compartilhar no WhatsApp

O Linux é um SO eficiente, mas o uso excessivo de RAM e CPU pode causar queda de desempenho e instabilidade no sistema.
Este artigo explica métodos práticos de otimização, como ferramentas de monitoramento, gerenciamento de processos e ajustes no kernel.


1. Encontrar processos que consomem muitos recursos

Use os comandos top, htop e ps para identificar os processos com alto uso de CPU e memória.
Anote o PID para usá-lo nas ações posteriores.

# top  
top          # P: ordenar por CPU, M: ordenar por memória  
  
# instalar e executar o htop  
sudo apt install htop  
htop         # F6: ordenar, F9: encerrar  
  
# comando ps  
ps aux --sort=-%mem | head  
ps aux --sort=-%cpu | head  

2. Encerrar processos desnecessários

Com os comandos kill, kill -9 e pkill, você pode encerrar processos que estejam consumindo recursos em excesso.
Processos que não respondem podem ser finalizados à força ou encerrados em lote pelo nome.

kill PID  
kill -9 PID  
pkill process_name  

3. Otimizar programas iniciados automaticamente

Use systemctl para verificar os serviços executados automaticamente na inicialização e desative os itens desnecessários.
Em ambientes com GUI, também é possível usar o gerenciador de aplicativos de inicialização.

systemctl list-unit-files --type=service | grep enabled  
sudo systemctl disable nome_do_serviço  

4. Ajustar o swappiness

Swappiness é uma configuração que controla a frequência de uso da memória swap.
Reduzir o valor padrão de 60 para 10 prioriza o uso da RAM e pode ajudar a melhorar o desempenho.

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

5. Usar um ambiente desktop mais leve

Em vez de GNOME ou KDE, usar ambientes desktop leves como XFCE, LXDE e MATE pode economizar recursos.
O mesmo vale para os aplicativos: você pode substituí-los por editores, navegadores e gerenciadores de arquivos mais leves.


6. Limpar cache e buffers manualmente

O Linux usa RAM como cache para melhorar o desempenho, mas também é possível limpá-la manualmente quando necessário.
No entanto, isso pode causar uma queda temporária de desempenho, então é preciso cautela.

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

7. Otimizar parâmetros do kernel

É possível tornar o gerenciamento de recursos mais eficiente ajustando parâmetros do kernel, como a frequência de gravação em disco ou a quantidade mínima de RAM a ser mantida livre.

# exemplos de itens a adicionar em /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 é um recurso que usa memória comprimida e é eficaz para economizar RAM.
Se configurar também o Zswap, o swap baseado em compressão será ativado.

sudo apt install zram-config  
sudo systemctl start zram-config  
  
# adicionar configuração ao GRUB  
sudo nano /etc/default/grub  
GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1"  
sudo update-grub  
sudo reboot  

9. Limitar o uso de CPU de processos

Com o comando cpulimit, é possível limitar o uso de CPU de um processo específico.
Também é possível definir um limite permanente usando a configuração do systemd.

sudo apt install cpulimit  
sudo cpulimit -e firefox -l 30  # limitar o firefox a 30%  
  
# configurar com systemd  
sudo systemctl set-property nome_do_serviço CPUQuota=30%  

10. Atualizar o sistema regularmente

Como as atualizações mais recentes ajudam com melhorias de desempenho e correções de bugs, elas devem ser aplicadas regularmente.

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

6 comentários

 
wls52 2025-05-13

No caso do zram, foi a primeira vez que ouvi falar dele, então perguntei ao qwq:32b quais desvantagens ele poderia ter.

Por que as distribuições Linux não ativam o zram por padrão?

Porque os problemas de falta de memória em sistemas modernos diminuíram: hoje, a maioria dos PCs vem com 4 GB de RAM ou mais por padrão. Em ambientes onde a falta de memória é menos comum, a necessidade de zram também é menor.

Risco de carga na CPU: o zram pode aumentar o uso de CPU, então não é algo seguro para todo tipo de hardware.
Como as distribuições priorizam um "ambiente geral", elas podem considerar que não vale a pena assumir o overhead de CPU do zram.

Mudança no uso básico de swap: com a popularização dos SSDs, a velocidade dos discos de swap tradicionais melhorou bastante.
A vantagem de velocidade do zram ficou relativamente menos destacada do que no passado.

Diversidade de ambientes de usuário: o zram só é eficaz em ambientes específicos (por exemplo, dispositivos de baixo desempenho) e não traz grandes benefícios para o usuário em geral.
Como as distribuições buscam "máxima compatibilidade com configuração mínima", elas não ativam o zram por padrão.

Complexidade de configuração: para otimizar o zram, é preciso ajustar manualmente itens como tamanho e algoritmo de compressão, e usuários comuns podem ter dificuldade para entender isso.

 
secret3056 2025-05-13

No macOS, a compressão de memória também é usada ativamente.

> Por que as distribuições Linux não ativam o zram por padrão?

Fedora 33 e openSUSE, a partir do Aeon, ativam o ZRAM por padrão.
Benchmark sempre vem primeiro, mas pode ser mais útil do que parece.

 
hoonix 2025-05-13

O zswap é bastante útil. No macOS, uma função semelhante também é uma opção ativada por padrão. Em ambientes com recursos limitados, como laptops, ele funciona bem quando você abre o navegador ou muitos aplicativos. Só que, como você mencionou, existe esse trade-off de CPU, então isso provavelmente vai afetar a bateria.

 
fanotify 2025-05-13

O zram e o zswap são coisas diferentes?
sudo apt install zram-tools
systemctl enable zramswap
Estou usando assim, mas não sei se esse tal de zswap é isso mesmo..

 
hoonix 2025-05-13

Os nomes técnicos são bem confusos. O zram é um recurso do kernel que cria um dispositivo de bloco com compressão automática, ou seja, uma espécie de armazenamento. E, se você criar e usar sobre esse armazenamento um arquivo de swap comum, como conhecemos, isso passa a oferecer uma espécie de swap em RAM com compressão. Parece que o serviço zramswap faz exatamente esse papel. Depois, como esse caso de uso foi considerado útil, zram + swap acabou sendo integrado ao kernel como um recurso único: o zswap. O zswap pode ser ativado na maioria das distribuições Linux apenas com comandos, sem necessidade de instalação adicional. (Referência: https://wiki.archlinux.org/title/Zswap)