为什么挂起后/ proc / meminfo报告误导SwapTotal?

考虑一下:

[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 

为什么meminfo报告总交换大小包括已删除的交换文件/设备? 它困扰我的原因是,每次系统被暂停,这些设备被重新安装,每次添加新(deleted)交换设备,加起来误导SwapTotal值。 这使得监视交换使用情况相当困难,除非我愿意使用parsing和求和swapon -s输出。 我如何清除这些(deleted)设备或让SwapTotal报告良好的价值

据Alasdair G Kergon说:如果你删除了一个活动的交换文件,那么就不可能“交换”。 2004, http://comments.gmane.org/gmane.linux.lvm.general/4949

如果每次挂起笔记本电脑时都卸载mmcblk驱动程序,则会删除一个活动的交换设备。 现在变得不可能了。 一旦这个设备被重新创build,它不会阻止swapon工作,但是对于linux来说,它是一个不同的设备,而不是同一个设备。

您应该在每次挂起之前告诉您笔记本电脑swapoff /dev/mmcblk0p2 。 无论是手动,在每个暂停之前,或者一次在谁知道哪个acpi脚本。