Hibernação: aviso anterior se não houver espaço livre suficiente para troca

0

Se você hibernar e não houver troca livre suficiente, uma mensagem será exibida após o ambiente de área de trabalho inteiro ser fechado.
Portanto, só é possível reinicializar.

Posso verificar via script (ou qualquer outra coisa) se houver espaço de troca suficiente antes de estar tudo fechado?

Obrigado

    
por Achim A 01.09.2012 / 15:04

1 resposta

1

O problema que você vê aqui é que o kernel tem que alocar páginas de troca livre suficientes para escrever a imagem de hibernação e isso também inclui alguma sobrecarga de meta-dados. Infelizmente, o kernel só pode descobrir quantas páginas precisam ser escritas para trocar depois que ele quiesce os processos e isso está atrasado no processo de hibernação. O hibernate, em teoria, deveria salvar se não houver páginas livres suficientes e retornar você de volta a um sistema em execução, então o fato de que você parece precisar reinicializar parece um bug para mim.

Como regra geral, geralmente é possível trocar ~ 2 xo tamanho da RAM disponível, portanto, ficar sem swap no modo de hibernação não deve falhar devido à falta de troca livre; no entanto, é um pouco mais complexo devido à possibilidade de as páginas já terem sido trocadas e a pequena quantidade de sobrecarga de meta-dados necessária para gravar a imagem de hibernação.

    
por Colin Ian King 01.09.2012 / 20:54