Como configurar o swappiness no gerenciamento de memória do Linux?

7

O parâmetro swappiness controla a tendência do kernel de mover os processos da memória física para o disco de troca, qual é a configuração padrão e como configurá-lo para melhorar o desempenho geral ?

    
por GAD3R 25.02.2016 / 12:58

3 respostas

4

O kernel do Linux fornece uma configuração que controla o swappiness

$ cat /proc/sys/vm/swappiness
60  

abra /etc/sysctl.conf como root. Em seguida, altere ou adicione essa linha ao arquivo:

vm.swappiness = 10

para alterar temporariamente o valor do swappiness, tente este comando:

$ echo 50 > /proc/sys/vm/swappiness
    
por 25.02.2016 / 13:02
8

De Swappiness, Wikipedia

Você pode definir esse valor em um arquivo virtual /proc/sys/vm/swappiness O valor mencionado será decidir como o espaço de troca deve ser usado, abaixo estão os valores com suas intenções.

vm.swappiness = 0   # Swap is disabled. In earlier versions, this meant that the kernel would swap only to avoid an out of memory condition, but in later versions this is achieved by setting to 1.
vm.swappiness = 1   # Kernel version 3.5 and over, as well as kernel version 2.6.32-303 and over: Minimum amount of swapping without disabling it entirely.
vm.swappiness = 10  # This value is sometimes recommended to improve performance when sufficient memory exists in a system, this value *10* could be considered for the performance being expected. 
vm.swappiness = 60  # The default value.
vm.swappiness = 100 # The kernel will swap aggressively.

Embora dependa realmente da necessidade também, se a memória física disponível for suficiente, pode não haver uma grande necessidade de espaço de troca. Nos termos de Layman, não será necessário alterar o valor padrão de 60 .

    
por 25.02.2016 / 13:08
1

No RedHat / CentOS, o valor padrão é 60.
"Para melhorar o desempenho" é um termo muito amplo. Qual o desempenho que você está tentando melhorar?

Você tem problemas com pouca memória? O seu sistema SWAP quando ainda há memória livre / memória cache?

No Linux, RAM livre = RAM desperdiçada, portanto, quase toda a memória livre é usada para caches de disco.
Há casos com swappiness = 60 em que as páginas na memória são movidas para SWAP se elas não tiverem sido acessadas por longos períodos de tempo, independentemente de você ter RAM não alocada.
Movendo algumas páginas de memória para o SWAP não é necessário uma coisa ruim.

Por favor, derramar um pouco mais sobre o seu problema para uma resposta mais detalhada.

    
por 25.02.2016 / 13:21