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.
Nenhum coment�rio foi encontrado.