Trocar sendo usado quando a RAM está quase livre

6

Hoje percebi que encontrei o seguinte:

Como você pode ver, a RAM é quase metade livre e o uso de espaço de troca é muito alto. Do meu conhecimento de livros didáticos, eu costumava pensar que o Linux OS tenta fazer melhor uso da RAM e, quando fica sem RAM, ele moverá algumas das páginas menos usadas da RAM para o espaço de troca.

Alguém por favor pode me explicar se meu conhecimento teórico está incorreto e me explicar como no mundo do Linux realmente funciona.

    
por pradeepchhetri 16.05.2015 / 21:06

3 respostas

7

Embora seja verdade que o kernel usa swap mesmo que ainda exista memória, usar mais de dois terços dele pode ser um indicador de que, historicamente, o servidor pode estar ficando sem memória e é por isso que ele começou a trocar. Eu correlacionaria o uso de swap com o uso de memória nos relatórios do sar para deduzir se o sistema tem ram suficiente. Eu também verificaria o dmesg ou os logs para determinar se o servidor ficou sem memória, e o oom-killer entrou em ação.

    
por 16.05.2015 / 22:25
5

O Kernel Linux começa a trocar as páginas de memória, mesmo que você tenha bastante memória RAM livre. Você pode ajustar esse comportamento definindo um swappiness personalizado.

link

Para servidores, recomendo definir o swappiness como 1 se você sempre tiver memória suficiente para sua carga de trabalho. Para estações de trabalho, recomendo usar o padrão de 60.

# check the current value
cat /proc/sys/vm/swappiness
60

# swappiness = 1 (swap only if necessary)
echo 1 > /proc/sys/vm/swappiness

# or use sysctl
sysctl -w vm.swappiness=1

Faça a configuração permanente em /etc/sysctl.conf, definindo

vm.swappiness=1

e recarregue-o com

sysctl -w
    
por 16.05.2015 / 21:34
0

Algumas aplicações infelizmente martelam a troca diretamente, ignorando intencionalmente a RAM. Olhando para você, Chrome (e em um ponto Photoshop). A única maneira de obter esses aplicativos para não trocar é executar sem uma partição de troca. Até mesmo a permutabilidade 0 IIRC ainda lhes dará acesso, uma vez que explicitamente o exigem.

Alterar o swappiness por acima funcionará para todo o resto. Eu sugeriria um valor de 10-20 em vez de 1.

    
por 01.06.2015 / 17:57