Hibernação sem troca ativada

4

Meu laptop tem muita memória RAM e um SSD. Para não desgastar o SSD, eu não quero que o swap seja usado nunca. Se um processo usa tanto RAM que tem que começar a usar swap, então ele está claramente se comportando mal e deve ser eliminado pelo kernel. Mas também quero ser capaz de hibernar ou dormir em modo híbrido com meu laptop. Atualmente, parece ser muito difícil conseguir uma configuração desse tipo funcionando. Aqui estão algumas ressalvas:

  • mesmo definir swappiness para 0 permitirá que a troca seja usada se um aplicativo solicitar muita memória. Parece não haver nenhuma maneira de ativar a permuta, mas parar o kernel de usá-lo como espaço de troca (e, assim, reduzir seu utilitário para o espaço da imagem de hibernação)
  • desativar a troca (temporariamente) levará a comandos como systemctl hibernate erro com Failed to hibernate system via logind: Sleep verb not supported
  • Eu quero poder colocar meu sistema em hibernação / hibernação-adormecida (portanto, escrever um script de wrapper que permita a troca e, em seguida, inicie systemctl hibernate não é suficiente)

Agora estou procurando o caminho certo para conseguir isso. Uma maneira de fazer isso provavelmente seria geralmente desabilitar minha partição de swap e, em seguida, swapon no ponto certo via systemd (e swapoff após o sistema ter acordado). Mas eu não sei como conseguir isso.

Outra maneira seria usar um arquivo de troca, mas isso parece adicionar uma complicação extra em comparação com o uso de uma partição swap. Não menos importante, porque eu estou usando a criptografia de disco completo e uswsusp parece ser apenas outra camada em cima do que eu já posso ter com a minha partição de swap existente. Mas talvez eu esteja perdendo alguma coisa e usar um arquivo de troca é realmente mais fácil para esse propósito.

    
por josch 19.11.2016 / 20:36

0 respostas