Use swap apenas para hibernação

0

Eu tenho uma partição de swap /dev/sda1 . É 2GB em tamanho e eu só quero usá-lo para hibernar. Meu sistema tem 4GB de RAM. Quando estou com pouca memória RAM, o kernel começa a trocar e eu não posso nem mudar para um tty para matar o aplicativo. Eu só quero swap para ser usado para hibernar, não na condição OOM. Então, eu quero que o OOM killer mate algumas aplicações, e não troque o tempo todo. Eu defini vm.swappiness=0 , mas isso não ajuda. Alguma solução?

    
por Nazar554 03.11.2013 / 17:49

1 resposta

0

Aqui estão algumas coisas que você pode tentar, embora as soluções não sejam diretamente o que você pediu.

Como eu disse nos comentários, definir vm.swappiness=0 fará com que o kernel espere o máximo possível antes de usar o swap, e não o desligue completamente. Não tenho provas disso, mas acho que, ao definir vm.swappiness=0 , você está agravando o problema.

O motivo pelo qual eu acredito que este é o caso é que quando algo acontece forçando o kernel a começar a trocar, ele provavelmente terá que trocar tudo muito rápido, algo que é incapaz de fazer por causa da velocidade que um disco rígido funciona em. Se você deixar o kernel escolher quando trocar, ele começará a trocar dados que são usados menos em um momento anterior, e não precisará mover muitos dados da RAM para trocar de uma só vez quando as coisas ficarem difíceis. Em geral, isso aumentará a eficiência do kernel.

Você também pode criar um script que use swapon e swapoff para ativar uma partição de troca ou um arquivo de troca gerado por esse motivo específico ao acionar a hibernação. A maioria dos gerenciadores de janelas pode ser personalizada para executar scripts quando uma parte diferente é ativada, como, por exemplo, o botão de hibernação. Como fazer isso depende de qual gerenciador de janelas você usa.

Uma terceira opção é deixar a troca ativa o tempo todo e, em vez disso, diminuir a quantidade de RAM que pode ser usada antes que o gerenciador de OOM seja ativado e comece a matar processos. Isso é possível, mas não tenho ideia de como fazer isso.

Finalmente, considerando a quantidade de memória RAM atualmente, aumentar a quantidade de RAM em seu computador também é uma opção viável se você ainda não o tiver esgotado.

    
por 04.11.2013 / 00:46