Por que o relatório / proc / meminfo engana o SwapTotal depois de suspenso?

1

Considere isso:

[skrat@apex geri]$ cat /proc/meminfo | grep SwapTotal
SwapTotal:      18438120 kB

[skrat@apex geri]$ swapon -s
Filename                                Type            Size    Used    Priority
/dev/mmcblk0p2 (deleted)                partition       3073020 0       10
/dev/mmcblk0p2 (deleted)                partition       3073020 0       10
/dev/mmcblk0p2 (deleted)                partition       3073020 0       10
/dev/mmcblk0p2 (deleted)                partition       3073020 0       10
/dev/mmcblk0p2 (deleted)                partition       3073020 0       10
/dev/mmcblk0p2                          partition       3073020 583196  1000

Por que meminfo informa o tamanho total da permuta, incluindo os arquivos / dispositivos de troca excluídos? O motivo pelo qual me incomoda é que, toda vez que o sistema é suspenso, esses dispositivos são remontados, sempre adicionando novos dispositivos de (deleted) swap, aumentando o valor SwapTotal do erro. Isso dificulta bastante o monitoramento do uso de swap, a menos que eu esteja disposto a usar parse e sum swapon -s output. Como posso limpar esses (deleted) dispositivos ou obter SwapTotal para relatar bons valores ?

    
por skrat 04.06.2013 / 13:58

1 resposta

0

De acordo com Alasdair G Kergon: Se você apagasse um arquivo de troca ativo, seria impossível "trocar". 2004, link

Se, cada vez que você suspender seu laptop, ele estiver descarregando o driver mmcblk, isso excluirá um dispositivo de troca ativo. Agora, torna-se impossível trocar. Isso não impede que swapon funcione quando esse dispositivo for recriado, mas para o Linux é um dispositivo diferente, não o mesmo dispositivo.

Você deve informar seu laptop para swapoff /dev/mmcblk0p2 antes de cada suspensão. Manualmente, antes de cada suspensão, ou de uma vez por todas, em quem sabe qual script acpi.

    
por 13.03.2015 / 14:46