O que significa ter uma partição swap montada em / dev / null?

5

Corri swapon -s em um VPS que estou usando e descobri que há uma partição de troca apontando para /dev/null .

# swapon -s
Filename        Type        Size    Used    Priority
/dev/null       partition   262144  0       -1

Isso significa que não há uma troca real e que qualquer coisa que tenha sido trocada será perdida? Isso é melhor / pior do que não ter nenhuma troca?

A saída de df -h :

# df -h
Filesystem         Size  Used Avail Use% Mounted on
/dev/ploop63064p1   20G  1.3G   18G   7% /
none               128M  4.0K  128M   1% /dev
none               4.0K     0  4.0K   0% /sys/fs/cgroup
none                26M   40K   26M   1% /run
none               5.0M     0  5.0M   0% /run/lock
none               128M     0  128M   0% /run/shm
none               100M     0  100M   0% /run/user

A saída de cat /etc/fstab :

# cat /etc/fstab
proc  /proc       proc    defaults    0    0
none  /dev/pts    devpts  rw,gid=5,mode=620    0    0
none  /run/shm    tmpfs   defaults    0    0

A saída de cat /proc/sys/vm/swappiness :

# cat /proc/sys/vm/swappiness
60
    
por Alex Grin 05.02.2015 / 23:42

1 resposta

4

Tudo isso pode se resumir a alguns ambientes de infraestrutura de hospedagem virtual, simplesmente não precisando de nenhuma configuração de arquivo / partição de troca. Por quê? Não tenho certeza de como os diferentes ambientes de infraestrutura de host virtual são configurados para lidar com condições de "falta de memória" e paginação; Eu imagino que o sistema operacional host, em alguns casos, lida com condições como essa de uma maneira mais eficiente do que o sistema operacional convidado poderia fazer por conta própria?

Por exemplo, olhando este post aqui , bem como este post aqui parece que o Chef exige um arquivo de swap e o define como /dev/null como uma solução comumente aceita - mas desajeitada - para "neutralizar" efetivamente uma configuração de arquivo / partição de troca para algumas implantações de servidores privados virtuais.

Além disso, parece que seu sistema "swapiness" teria que ser definido como 0 para que uma configuração como essa funcione. Você pode confirmar isso verificando-o através deste comando:

cat /proc/sys/vm/swappiness

Como explicado nesta entrada da Wikipedia , “swapiness” pode ser definido em qualquer lugar no intervalo de 0 a 100:

Swappiness can be set to values between 0 and 100 inclusive. A low value causes the kernel to avoid swapping, a higher value causes the kernel to try to use swap space. The default value is 60, and for most desktop systems, setting it to 100 may affect the overall performance, whereas setting it lower (even 0) may decrease response latency.

E os valores comuns apresentados são:

  • vm.swappiness = 0 : O kernel irá trocar apenas para evitar uma condição de falta de memória.
  • vm.swappiness = 60 : o valor padrão.
  • vm.swappiness = 100 : O kernel irá trocar de forma agressiva.

O que me diz que o seu VPS pode ter algumas configurações do sistema para evitar graves condições de falta de memória causadas pela troca de perdas. Então, minha próxima sugestão seria entrar em contato com o seu provedor de VPS e pedir alguns esclarecimentos. Para ler mais sobre como um provedor de hospedagem virtual aconselha sobre a melhor forma de usar um arquivo de swap / partição, confira este post de DigitalOcean .

    
por 06.02.2015 / 02:59