Como reduzir o uso de RAM e CPU no Linux
(tecmint.com)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
No Asahi Linux, usam
zswape desativam ozramhttps://web.archive.org/web/20241126234212/…
https://social.treehouse.systems/@AsahiLinux/113532720695827142
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.
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.
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.
O
zrame ozswapsão coisas diferentes?sudo apt install zram-toolssystemctl enable zramswapEstou usando assim, mas não sei se esse tal de
zswapé isso mesmo..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çozramswapfaz exatamente esse papel. Depois, como esse caso de uso foi considerado útil,zram+ swap acabou sendo integrado ao kernel como um recurso único: ozswap. Ozswappode 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)