Melhorando uso de memória com swappiness
02
Swappiness é um valor que pode tornar o sistema mais propenso a utilizar o espaço de troca, liberando mais memória livre para caches. Pode melhorar a desempenho do sistema usando essa propriedade do kernel Linux, nesse cláusula vou detalhar porquê funciona e porquê modificar o valor no Android ou em alguma distribuição Linux.
S que é espaço de troca ou swap?
Swap é uma espaço, criada no disco para mitigar o problema com a falta de memória.
Funciona da seguinte maneira: se você possui 512MB de memória e abre o Chrome e Adobe Photoshop, aplicativos que somados ocupam mais de 1GB, isso normalmente iria travar o seu computador ou mesmo você não conseguiria trabalhar com os aplicativos abertos. Tendo uma extensão de troca reservada no disco, a memória principal despeja troço do que não precisa ser executado para esse espaço, ou seja, para o swap, liberando a memória e assim podendo processar melhor os aplicativos.
Como funciona o swappiness?
Swappinnes é uma variável contida no código nascente do Linux, responsável por controlar a quantidade de memória RAM e swap que será utilizada.
Para essa variável é atribuído um valor fixo que para máquinas com pouca memória, 256MB, 512MB, leste valor pode ser confortável ou aceito. S problema está em máquinas mais novas que possuem 1GB de memória para cima, essas máquinas sofrerão uma perda de desempenho considerável.
S valor dessa variável varia de 0 a 100, sendo o 0 sem utilização de swap, somente em situações muito críticas; 100 a prioridade continua sendo a de utilizar a memória RAM, mas irá fazer swap em disco com mais perseverança, ou seja, mesmo que haja muita memória principal sobrando, o sistema, ainda assim, irá fazer swap.
Veja a tábua aquém para ter uma configurar o valor de pacto com a quantidade de memória que possui.
Quantidade... de Memória | Valor da swappiness |
---|---|
256MB | 60 (valor padrão) |
512MB | 40 |
1GB | 20 |
Acima de 1GB | 0 |
Qual valor da variável do swappiness esta usando?
Para desenredar qual o valor atual da sua swappiness, utilize o comando cat /proc/sys/vm/swappiness
ou sysctl vm.swappiness
, porquê nos exemplos aquém:
Saída com o comando cat
:
40
Saída com o comando sysctl
:
vm.swappiness = 40
Alterando o valor da sua swappiness
Primeiro, verifiquei se você já possui a seguinte risco: vm.swappiness = n
, sendo “n” o valor da variável, no registo grep swappiness
vm.swappiness = 40