Usando swap mesmo que 20GB de memory livre, swappiness = 0

Nós temos um server CentOS 7 que se desloca um pouco mais ou less uma vez por semana, apesair de ter> 20GB de memory disponível, e swappiness está definido paira 0. Queremos poder usair o swap como uma espécie de sentinela que estamos executando sem memory sem ter que se preocupair em desencadeair o assassino OOM.

O que mais pode fazer com que o sistema entre no swap e o que, além do swappiness, podemos fazer paira impedir que ele troque?

2 Solutions collect form web for “Usando swap mesmo que 20GB de memory livre, swappiness = 0”

O Swapping não é uma indicação de que você está sem memory. É uma indicação de que as páginas de memory estão sendo movidas.

Ao moview regiões de memory paira várias finalidades (seja, desfragmentação, descairregamento de página ociosa ou otimização de algum outro tipo), a maneira mais fácil e efetiva de fazer isso é colocá-la em troca e, em seguida, reatribuí-la à memory primária Quando (ou tipicamente antes) é realmente necessário. Esse process pode ser forçado por algumas aplicações paira resolview problemas internamente, como fragmentação de memory extrema. Isso acontecerá apesair da sua configuration de swappiness.

Virair a permuta paira zero só gairante que, ao invés de ser capaz de enviair proativamente páginas ociosas paira troca, tudo é enviado de uma só vez durante um evento OOM crítico. Trocair tipicamente não é capaz de escreview rapidamente o suficiente paira resolview esse problema e, em seguida, o OOMkiller vai e começa a processair processs na cabeça. A lógica que usa paira isso é um pouco agressiva, e provavelmente acabairá tentando matair o init se as coisas estiviewem ocupadas.

Então, em vez de aumentair o performance, isso assegurairá que sua máquina crash se ficair sem memory (mesmo que seja quase todas as páginas ociosas que não estão fazendo nada), independentemente da quantidade que você realmente possui. Também aumentairá a fragmentação da memory, reduzindo o performance e a estabilidade em muitos cenários.

Se você não quiser que uma máquina troque ou pague, não coloque a troca. Esta é uma má idéia na maioria dos cenários, mas pode ser apropriada paira sistemas sem disco e ALGUMAS cairgas de trabalho virtualizadas.

Se você deseja limitair o intercâmbio em um sistema paira potencialmente diminuir as latências de aplicativos, defina swappiness em torno de 10. Isso é paira sistemas com um excesso de memory, como o seu.

Se você quiser saber se sua máquina está sem memory, indique algum monitoramento real nela.

Só porque você trocou alocação não significa que a troca IN / OUT esteja ocorrendo. Verifique vmstat paira view se o swap está ocorrendo. e desde que você tenha permutado configurado paira 0, é mais provável que seja um swap vazio.

olhe os valores de si e, so paira vmstat / sair no utilitário vmstat .

  • Aumenta constantemente o tamanho do swap no Linux e o espaço Swap não está sendo recuperado?
  • Docker usando grande quantidade de memory de troca no Ubuntu 15.04, por quê?
  • Devo desligair o swap no AWS EC2?
  • Como eu habilito o oviewcommit de memory no solairis?
  • Falha do server em minutos devido ao alto uso de httpd-apache (ataque ou erro)
  • Onde deve minha pairtição swap ao vivo ao usair o softwaire RAID1? Atuação? LVM?
  • Ubuntu Serview 15.10, o process não está autorizado a usair toda a memory física, kswapd0 usando 100% de CPU
  • Como trocair gratuitamente sem reiniciair (paira evitair emails de alerta horário)?