考虑一下:
[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
值。除非我愿意使用解析和求和输出,否则很难监控交换使用情况swapon -s
。我如何清除这些(deleted)
设备或SwapTotal
报告良好的价值观?
答案1
据 Alasdair G Kergon 所述:如果您删除了活动交换文件,则无法“关闭交换”。2004 年,http://comments.gmane.org/gmane.linux.lvm.general/4949
如果每次挂起笔记本电脑时都会卸载 mmcblk 驱动程序,那么这将删除一个活动的交换设备。现在无法进行交换。swapon
一旦重新创建此设备,它不会阻止其工作,但对于 Linux 来说,它是一个不同的设备,而不是同一个设备。
您应该在每次挂起之前告诉笔记本电脑swapoff /dev/mmcblk0p2
。可以手动、每次挂起之前,或者在谁知道哪个 acpi 脚本中一次性告知。