为什么mutt还能顺利完成?在处理过程中我们是否有损坏任何东西的风险?
因此,我们的 5GB 可用空间即将耗尽。 Mutt for root 在根分区上占用了 20GB,因此我们决定清除/存档旧邮件消息。我们复印一份并备份。
现在我们进入mutt:>mutt
我们按:shift-D
删除消息
输入命令:~d>480d
删除过去 480 天之前的所有内容
然后:q
退出并保存文件。
这会导致我们的可用磁盘空间完全满,并且进程失败,我们很难退出 mutt。
我们意识到,在执行此过程时,我们保留的邮件消息数量越多,就越容易失败。基本上,我们想要保留的邮件似乎在保存/完成之前就耗尽了可用空间。
所以我们清除更多:~d>90d
只留下最后 90 天(保留的数量较少,并且正如预期的那样,它确实完成了,但我在完成之前注意到了一些奇怪的事情)
因此,当我看到根驱动器开始填满时,我观察了这个处理过程。如下所示。
根文件夹最终达到 0 可用空间,但 mutt 进程仍在继续。
为什么 mutt 会继续前进并最终快乐地完成,即使在 mutt 甚至接近完成保存之前空间就已经用完?
Early in the process
[root@domain ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 38314216 31093980 5250884 86% /
/dev/sda3 144053404 38173988 98538824 28% /opt
at about 90% before mutt finished all space used
[root@domain ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 38314216 36779888 0 100% /
/dev/sda3 144053404 38173988 98538824 28% /opt
After mutt finished a lot of space was freed up which was expected
[root@domain ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 38314216 16936356 19408508 47% /
/dev/sda3 144053404 38173988 98538824 28% /opt
我可能需要确认一些事情:交换大小、RAM 大小(8GB?)
更新:我已经完成了这个过程,从 mutt 中删除数据,并且很容易成功,因为有一些磁盘空间可以做到这一点,并且 mutt 保存得很好。但是当我这次离开 mutt 时,我的磁盘空间没有恢复为可用。
我在这里记录了另一个问题: 减少 Mutt 存储大小后,如何将该存储反映回 df
答案1
df
的“可用”列考虑了文件系统中的保留块。当你运行时df
,你确实有 38314216 – 36779888 个可用块,IE1,534,328。这些块只能由 root 用户使用,但您以 root 身份运行 Mutt,因此它可以使用它们。
当您在 Mutt 中保存 mbox 类型的邮箱时,它会将邮箱写入新文件,并且仅在成功时才替换原始文件。在这种情况下,通过删除大部分电子邮件,您可以充分减少邮箱大小,使其适合 root 可用的空间;这样 Mutt 就能够完成新邮箱的写入并替换原来的邮箱,从而释放已删除电子邮件占用的所有空间。