Importa se a quantidade de uma área de troca no Linux foi definida muito pequena (digamos 1Gb) e a RAM principal é 128Gb
?
Devemos sempre definir a quantidade de área de troca como duas vezes a quantidade de RAM?
ATUALIZADA:
Olá, obrigado por responder a esta pergunta. Na verdade, eu tenho essa pergunta porque encontramos alguns problemas ao usar um pequeno sistema de cluster. Os problemas estão publicados em Aqui . A figura a seguir mostra algumas informações sobre alguns dos computadores desse pequeno cluster.
A MEMTOT
é a quantidade total de RAM dessa máquina, a SWAPTO
quantidade total de área SW AP dessa máquina e a SWAPUS
quantidade usada de área SWAP. Como mostra a figura, o uso do SWAP é realmente pequeno.
Ao tentar resolver os problemas publicados aqui , não temos certeza se a quantidade de área SWAP está definida muito pequena, o que é apenas 1Gb
relativo 128Gb
, como mostra a figura. Então, eu tenho essa pergunta. Lamento não ter publicado todas as informações básicas na versão original deste post. Antes disso, também pensávamos que, se a quantidade de RAM fosse grande, poderíamos definir a quantidade de SWAP pequena. Tentamos definir o SWAP c0148
como sendo 16Gb
, o problema parece não existir (talvez devêssemos tirar essa conclusão depois de observar seus status por um longo tempo).
Não somos profissionais no sistema Linux e não conseguimos explicar por que isso aconteceu. É provável que este seja um sistema de cluster, e o SGE esteja gerenciando os recursos de cada máquina e precisa ter uma quantidade relativamente grande de SWAP, porque essa máquina pode ser usada por muitos trabalhos enviados por muitos usuários.
Além disso, se apenas definirmos a quantidade de SWAP muito grande, também vale a pena considerar outros problemas que isso causaria.
fonte
Respostas:
O kernel do Linux tem uma configuração para controlar com que frequência a troca é usada, chamada
swappiness
, descrita em /unix/88693/why-is-swappiness-set-to-60-by-default .Uma troca de zero significa que a troca será usada apenas se o sistema ficar sem memória. Uma troca de 100 forças obriga os programas a usarem a troca instantaneamente.
Ajuste seu sistema como você gostaria que se comportasse, mas ter 128 GB de RAM é muito improvável que seu sistema fique sem memória facilmente, portanto, ter 2/4 GB de swap pode ser suficiente. Não é aconselhável, mas possível, executar um sistema sem partição de troca.
Eu acho que a regra da área de troca com o dobro da quantidade de RAM está desatualizada e é útil apenas em sistemas com cerca de 1 GB de RAM e sempre à beira do uso total da RAM.
fonte
swappiness
0 seja lógico com uma grande quantidade de RAM, talvez seja melhor mantê-lo como o valor padrão de60
: http://unix.stackexchange.com/a/88820/50687 .Eu acredito que a regra de ouro 2x está desatualizada. Nossas estações de trabalho têm 16 GB de RAM, normalmente usamos apenas cerca de 25% disso e dificilmente usamos mais de 50%. Portanto, para nossos propósitos, não usamos nenhuma troca.
Como você precisa decidir quanto swap criar, e é teórico que qualquer número que você escolher não seja suficiente em algum momento, por que não escolher 0? Ou - por que não instalar mais RAM?
Acredito que esta é uma decisão muito pessoal, baseada em como o seu computador será usado e quanta RAM ele possui.
fonte
A menos que você realize alguns cálculos que consomem memória, você não precisa trocar nada (mas é melhor ter uma pequena partição de troca). Mas ter swap> ram é necessário quando você usará a suspensão no disco.
fonte