Otimização de memória para máquinas modestas

Publicado por Sidnei Serra em 04/09/2025

[ Hits: 53 ]

Blog: https://www.youtube.com/channel/UCRgokKtNlttdmg2RJEa2VYw

 


Otimização de memória para máquinas modestas



Nesta dica - https://www.vivaolinux.com.br/artigo/Conciliando-o-uso-da-ZRAM-e-SWAP-em-disco-na-sua-mquina - mostro como priorizar o uso da RAM em relação à swap, como habilitar o uso da zram e a sua configuração e como conciliar o uso da zram com a swap em disco, seja esta em arquivo ou partição.

Nesta nova dica vou "aprimorar" algumas configurações mostradas na dica anterior e implementar mais uma configuração de otimização de uso da memória RAM em máquinas modestas. Começando pela dica anterior que ainda continua válida; esse "apêndice" é apenas para melhorar o que está bom OU precisa de ajustes. Dois dos ajustes seriam:

  • vm.swappiness: use o valor de 20 para RAM sem zram rodando no sistema, com ou sem swap em disco; 60 se usar zram sem swap em disco; 40 para postergar o uso da swap da zram para atrasar o uso da swap em disco. Em todo caso, o valor desse parâmetro mostra ao sistema qual prioridade dar ao uso da RAM: valores próximos a 0 tendem a dar prioridade à RAM antes de passar para a swap e valores próximos de 100 tendem a dar prioridade de uso à swap, seja em disco ou zram. 60 seria o valor padrão;
  • vm.min_free_kbytes = valor usado pelo kernel para tentar manter RAM livre para uso das páginas de memória que estão sendo utilizadas e evitar travamentos do sistema quando "o caldo engrossa". Use os valores de 131072 ou 65536 para sistemas com pouca memória RAM.


De posse dessas informações, no arquivo .conf do sysctl criado, podemos colocar o seguinte:

#########################################################################
vm.swappiness = 40 #20 para RAM sem zram; 60 se usar zram; 40 para postergar o uso da swap em disco se usar zram
vm.dirty_ratio = 10
vm.dirty_background_ratio = 5
vm.dirty_expire_centisecs = 1000
vm.dirty_writeback_centisecs = 500
vm.vfs_cache_pressure = 50
vm.page-cluster = 0
vm.min_free_kbytes = 65536 #para ram baixa (2GB); até 4GB tente 131072
##########################################################################

Agora vamos à "configuração extra". Essa dica pode ser usada em:
  • Máquinas com pouca RAM - abaixo de 4GB;
  • Processadores mais antigos ou pererecas - basicamente CPU single-core ou dual-core antigos (Core 2 Duo, Pentium Dual Core, Atom antigo);
  • Uso "leve" como navegação e edição de páginas da internet, uso de suítes de Office, vídeos/áudio básicos e edição de vídeos básica e imagens leves.


O que vamos fazer aqui é desabilitar o THP. Ele - a grosso modo - junta páginas de memória pequenas em aglomerados maiores para ter menos paginação e melhorar o gerenciamento. O uso do THP é útil em trabalhos mais "cabeludos" como jogos, virtualização e edição pesada de vídeo, ou seja, trabalhos que demandem muita RAM. Usar esse recurso em uma máquina "perereca" com pouca RAM só faz o sistema ficar sobrecarregado por ser mais difícil alocar memória livre, pressão na swap e maior consumo de RAM. Se você está nessa de máquina modesta, então pode valer à pena experimentar esse recurso que vou mostrar agora - foi feito no Debian. Para ver o "valor" do THP atual, digite no Terminal:

cat /sys/kernel/mm/transparent_hugepage/enabled
cat /sys/kernel/mm/transparent_hugepage/defrag

O valor mostrado quando ativas é always (o Kernel tenta usar páginas grandes sempre que possível) ou madvise (usa páginas grandes só se o aplicativo pedir). Vamos lá então desabilitá-lo, crie o arquivo:

sudo nano /etc/systemd/system/disable-thp.service

Coloque dentro:

#########################################################################
[Unit]
Description=Disable Transparent Huge Pages (THP)
DefaultDependencies=no
After=sysinit.target local-fs.target
Before=basic.target

[Service]
Type=oneshot
ExecStart=/bin/sh -c 'echo never > /sys/kernel/mm/transparent_hugepage/enabled'
ExecStart=/bin/sh -c 'echo never > /sys/kernel/mm/transparent_hugepage/defrag'
ExecStart=/bin/sh -c 'echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag'
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
######################################################################

Salve o arquivo e depois no Terminal:
sudo systemctl daemon-reexec
sudo systemctl enable --now disable-thp.service

e reinicie a máquina. Ao digitar de novo no Terminal os comandos:

cat /sys/kernel/mm/transparent_hugepage/enabled
cat /sys/kernel/mm/transparent_hugepage/defrag

deverá aparecer para ambos "never". Isso poderá ou não melhorar a performance da máquina para a situação de uso "leve" da máquina, conforme recomendação mais acima.
Outras dicas deste autor

Dando - teoricamente - um gás no Gnome-Shell do Arch Linux

Como instalar o WPS com interface e corretor ortográfico em PT-BR no Arch Linux

Olha que Conky "bunitinhu" pra usar no seu sistema

Atualizando "na marra" o YT-DLP quando começa a dar erro de downloads

Solução rápida para o problema do Network Manager conectar mas não navegar

Leitura recomendada

Alterando o prompt do terminal (bash) no Slackware 12.1

Protegendo seu sistemas de invasões pelo LILO

Identificando o Redhat 8

Recuperar barra lateral do Unity no Ubuntu 11.10

Dual boot: GNU/Linux e Windows - Iniciando o Windows primeiramente

  

Comentários

Nenhum coment�rio foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts