是什么导致交换分区在“/proc/swaps”中显示为“(deleted)”?

是什么导致交换分区在“/proc/swaps”中显示为“(deleted)”?

我有一个带有专用交换分区的系统,运行 Yocto 生成的自定义发行版。

启动时,在 init 过程中,我可以看到第一个 swapon 命令成功激活了交换空间。发送第二个交换分区,但随后失败(由于swapon failed: Device or resource busy交换分区已被激活,因此会失败)。

然而,一旦完全启动,我意识到交换空间没有被系统使用,并显示为已swapon --show删除cat /proc/swaps

root@machine:~# swapon --show
Filename                                Type            Size    Used    Priority
/dev/mmcblk0p4 (deleted)                partition       1023996 0       -1

我想知道是什么原因导致交换分区显示为已删除?

答案1

(deleted)附加到内核输出的文件名是已删除文件的标准行为(请参阅d_pathfs/dcache.c— 它有详细的文档记录,您无需阅读 C)。

在这种情况下,这意味着该设备节点/dev/mmcblk0p4由于某种原因已被删除。 (这并不意味着分区本身已被删除,它只是设备节点。)

相关内容