Por que meu sistema está trocando se houver RAM livre disponível?

1

Eu tenho um host KVM executando várias máquinas virtuais. O hardware é composto por 24 núcleos com 40G de ram. Esta é a saída do comando free :

                     total      used       free     shared  buffers  cached 
Mem:                 41180500   32340344   8840156       0  2126008  36480
-/+ buffers/cache:   30177856   11002644 
Swap:                3903484    3511516    391968

Por que o sistema está trocando se ainda tem muita RAM livre? Ocupação nunca foi acima de 80% (nagios nunca relataram mais do que esse montante). E dado que 20% da RAM é 8G, ainda é muito mais do que o swap disponível (que é 4G).

    
por Maxxer 21.06.2013 / 13:01

3 respostas

2

Dê uma olhada em este artigo. Explica o problema, fornece solução e alguns benchmarks rápidos. Em suma algumas configurações que devem melhorar a situação são:

vm.swappiness=20
vm.vfs_cache_pressure=50

Explicação de o que são e o que fazem podem ser encontrados no artigo.

    
por 21.06.2013 / 13:11
3

Você pode tentar alterar seu valor de "permuta".

Aqui está um link howto: link

    
por 21.06.2013 / 13:12
0

Em sistemas modernos, o swap geralmente permanece sem uso. Processos que são de longa execução são deslocados para serem trocados pelo kernel. Alguns programas começam a funcionar lentamente por causa disso. Você disse que tem ram livre, então você pode desativar o swap executando o comando: swapoff -av (prefixado por sudo se você não for root)

Se você não gosta da troca, você pode habilitá-lo, usando o comando reverso: swapon -av (novamente com sudo se necessário).

    
por 26.06.2013 / 13:23

Tags