Você está na página 1de 5

26/05/2023, 12:55 Reduza o uso do SWAP e melhore o desempenho do Linux – Elias Praciano

Reduza o uso do SWAP e melhore o desempenho


do Linux

Como alterar temporariamente e


permanentemente o parâmetro swappiness,
que determina o uso do SWAP no sistema
Linux.
A depender da quantidade de memória RAM
disponível, você pode querer alterar a
frequência com que o kernel faz uso do SWAP.

By Elias Praciano 24/05/2014

Na lista de coisas que se pode fazer para melhorar o desempenho do


Linux, este é um dos primeiros itens — principalmente em

https://elias.praciano.com/2014/05/reduza-o-uso-do-swap-e-melhore-o-desempenho-do-linux/ 1/5
26/05/2023, 12:55 Reduza o uso do SWAP e melhore o desempenho do Linux – Elias Praciano

equipamentos com pouca memória RAM (1 Gb ou menos).


Algumas distribuições Linux mais parrudas, como é o caso do
Ubuntu, acabam por fazer uso muito intenso do acesso ao disco
rígido, o que contribui consideravelmente para a lentidão do
sistema como um todo.
Não esqueça de ler o texto Perguntas e Respostas sobre o SWAP,
para tirar mais dúvidas sobre este assunto. 😉
Neste post, vou mostrar como reduzir o
uso da memória SWAP no seu sistema.
Comumente, separamos uma partição
exclusiva, no disco rígido, para a memória
SWAP o que é uma boa prática.
Quando o sistema começa a fazer uso
excessivo deste recurso, começa também
a ficar mais lento, uma vez que o tempo
de acesso ao disco rígido é milhares de vezes maior que o tempo de
acesso à memória RAM.
A propensão do Ubuntu a usar o SWAP é determinada por um valor
— quanto menor este valor, mais tempo o sistema irá demorar antes
de começar a fazer uso deste recurso.
A variável (do sistema) que contém este valor, é a swappiness — e
pode ir de 0 a 100 (sim, é um percentual).
Sugiro a leitura do artigo Explicação básica sobre gestão de
memória no Linux, onde o uso do SWAP é discutido com mais
profundidade —. Ele não é o responsável pela lentidão da sua
máquina. Acredite.

No Red Hat e no Ubuntu, o valor padrão


do swappiness, é 60, o que pode ser muito
alto para a maioria dos usuários normais
do desktop. Especialistas indicariam este
número como mais adequado para
servidores.
No desktop, este número pode
seguramente ser reduzido. Vou mostrar como.
No Ubuntu, esta variável fica armazenada no arquivo de
sistema /proc/sys/vm/swappiness .

https://elias.praciano.com/2014/05/reduza-o-uso-do-swap-e-melhore-o-desempenho-do-linux/ 2/5
26/05/2023, 12:55 Reduza o uso do SWAP e melhore o desempenho do Linux – Elias Praciano

Você pode ver o valor de swappiness do seu sistema com o seguinte


comando:
cat /proc/sys/vm/swappiness

O QUE DIZ A DOCUMENTAÇÃO DO


RED HAT
«O swapiness é um valor de 0 à 100 que controla o grau para o qual
o sistema altera. Um valor alto dá prioridade ao desempenho do
sistema, alterando os processos de forma agressiva fora da
memória física quando eles não estão ativos. Um valor baixo dá
prioridade à interação e evita processos de alteração fora da
memória física o quanto de tempo for possível, o que diminui a
latência de resposta. O valor padrão é 60.»

Qual o valor mais indicado para swappiness?

Você pode seguir a regra geral, ditada por outros, ou pode fazer seus
testes e chegar ao melhor número por si próprio. Só tenha cuidado
com os extremos, pois você pode acabar com um sistema inoperante
(ou quase).
A minha recomendação é de que você opte por um valor baixo,
entre 10 e 20. Isto fará com que o sistema use menos o espaço de
troca (swap) e tente se virar com o que tem, na memória física.
Veja, a seguir, como tornar a mudança do valor do swapiness
permanente.

https://elias.praciano.com/2014/05/reduza-o-uso-do-swap-e-melhore-o-desempenho-do-linux/ 3/5
26/05/2023, 12:55 Reduza o uso do SWAP e melhore o desempenho do Linux – Elias Praciano
Torne a mudança permanente

A simples alteração do arquivo /proc/sys/vm/swappiness , é


temporária e não produz resultado permanente.
Se você conseguir alterar este valor, o sistema o retornará ao
padrão, assim que for reiniciado.
Contudo, é interessante testar valores diferentes, antes de decidir
sobre qual é o mais adequado para o seu uso.
Você precisa alterar o arquivo /etc/sysctl.conf , para que a
mudança seja permanente.
Abra-o com o seu editor de textos favorito (eu vou usar o nano):
sudo nano /etc/sysctl.conf

Agora, copie e cole o seguinte código ao final do arquivo:


#
# Reduz o uso de SWAP
vm.swappiness=10
# Melhora a gestão de cache
vm.vfs_cache_pressure=50

Em seguida, salve e saia do editor.


Reinicie a máquina e veja se houve melhora.

A conclusão de que a partição ou arquivo de swap está tornando o


seu computador lento é, na maioria das vezes, equivocada.
Além disto, não ter qualquer dispositivo para fazer swap, não
significa que o kernel passará a fazer uso mais eficiente da memória
física presente no sistema.
A falta deste recurso implica em ter menos opções à disposição do
kernel para gerenciar eficientemente a memória do sistema.
Tampouco, a quantidade de swap disponível não influencia a
frequência com que ele será usado.
O Linux consegue lidar com a ausência de um espaço de troca.
Quando a memória física se exaurir, contudo, o kernel iniciará uma
“matança quase indiscriminada de processos” no seu sistema, para
criar espaço de trabalho. Para isto existe um mecanismo
chamado OOM-Killer ou out-of-memory-killer.

https://elias.praciano.com/2014/05/reduza-o-uso-do-swap-e-melhore-o-desempenho-do-linux/ 4/5
26/05/2023, 12:55 Reduza o uso do SWAP e melhore o desempenho do Linux – Elias Praciano
conclusão

Antes de alterar o valor do swappiness, leve em consideração que o


valor deste parâmetro do kernel indica a partir de que ponto o
sistema deve começar a fazer uso do SWAP — se o valor for ’60’, o
kernel começará a usar o SWAP quando a memória RAM atingir
40% de sua capacidade.
Ajustar o parâmetro para ‘100’, fará com que o kernel envie tudo
pro SWAP.
No meu exemplo, ajustei o swappiness para ’10’ — assim o SWAP só
começará a ser usado quando a memória RAM estiver 90% cheia.
O valor que eu usei é seguro em sistemas com 2 Gb ou mais.
Se você ajustar o valor para ‘0’ o sistema só irá swapear quando a
memória RAM estiver esgotada.
Em sistemas com 1Gb de memória RAM ou menos, usar valores
muito baixos pode causar travamentos.
A minha compreensão é de que o uso do SWAP é para situações
extraordinárias, quase “emergenciais”. Não faz sentido, portanto,
usar memória virtual na maioria dos casos.
Se a carga de trabalho é grande, você deve planejar a aquisição de
mais memória física, em vez de resolver (mal) o problema com o
uso de memória virtual.

https://elias.praciano.com/2014/05/reduza-o-uso-do-swap-e-melhore-o-desempenho-do-linux/ 5/5

Você também pode gostar