Estou usando o Debian sid, disco rígido formatado com ext4, rodando no linux 3.1
Lembro-me de versões anteriores do Linux (talvez antes da 3.0), se eu ficar sem memória e a troca não estiver ativada, os programas geralmente travam. Isso é perfeito para o meu ambiente: navegação na web simples, sem operações críticas. Ou seja, se eu acidentalmente encontrar um site ruim que consome muita memória, ele simplesmente trava sem tornar meu terminal inutilizável.
Mas, na minha configuração atual, o computador trava com uma violenta taxa de transferência de E / S em segundo plano. O iotop revela que o kswapd0 é o culpado, o que significa que é devido à troca. Depois de usar swapon -s
para determinar quaisquer trocas ativadas, eu costumava swapoff -a
desativar todas as trocas e swapon -s
novamente para confirmar que todas as trocas foram desativadas.
Depois tentei maximizar meu uso de memória novamente. Infelizmente, o comportamento que eu esperava não aconteceu. Em vez disso, o kswapd0 tenta repetidamente trocar a RAM e falha porque não há espaço de troca. Como ele nunca desiste, meu computador está bloqueado pelo congelamento eterno de E / S, prejudicial à saúde do meu disco.
Estou fazendo algo errado ao tentar swapoff -a
? Por que o comportamento é diferente do que costumava ser (provavelmente antes da versão 3.0)?
fstab
linha sobre swap. Tente se o comportamento for o mesmo.
swapoff -a
deve desativar a troca permanentemente, o que significa que deve permanecer desativado após a próxima reinicialização. Eu confirmei isso. No entanto, a "tempestade" de E / S ainda acontece durante a sessão após a próxima reinicialização. Para o registro, a "tempestade" de E / S não aconteceu no momento, swapoff -a
porque o swap era 0 naquele momento.
swapoff -a
é permanente.
swapoff -a
si só , se houver alguma coisa no swap, gerará muita E / S (e poderá resultar na morte de processos se não houver RAM real suficiente disponível). Tem certeza de que não foi oswapoff -a
que causou a "tempestade" de E / S?