昨天,我删除了家庭/媒体服务器上的 71 GB 文件。
之前的可用空间:117 GB
之后的可用空间:126 GB
因此,我没有 71 GB 的额外可用空间,而是只有 9 GB。我仔细检查过没有打开任何文件,我真的删除了 71 GB,可用空间只增加了 9 GB。
我也尝试过同步,但没有效果。
这不是第一次发生。事实上,多年来我时不时地看到这种行为。首先是 ext3,现在是 ext4。
发生这种情况时,我可以通过卸载然后重新安装文件系统来回收可用空间。在这些情况下,卸载最多需要 2 分钟而不是几乎没有时间。
现在,我无法轻松卸载和重新安装文件系统,因为它一直在忙于我的录像机软件、我家人的 owncloud 服务器以及一些我目前还没有的服务。而且我不想在晚上3点钟起床只是为了卸载和重新安装。
不,'at' 实用程序不会这样做,因为其中一个服务执行不可恢复的长时间运行任务,因此需要手动状态检查以找到可以关闭的好时机,即任务刚刚完成。
但是今天早上,我注意到这个空间一夜之间被释放了。在我看来好像进行了某种清理,这可能与卸载时需要额外的时间相同。
到目前为止,我只在删除大量数据时注意到这种行为。另一方面,我不确定它是否经常发生,而且差异太小而无法注意到。
文件系统创建时为 root ( mkfs -m 0
)保留了 0% 。根据fsck -f
(我总是在卸载和重新安装之间这样做),文件系统没有损坏,并且根据 SMART 诊断扩展测试,硬件也正常。
[编辑]
tune2fs 1.42 (29-Nov-2011)
Filesystem volume name: bigdata
Last mounted on: /bigdata
Filesystem UUID: 6aebd17a-e064-41dc-9c68-c9a3acbe4f66
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery …
Run Code Online (Sandbox Code Playgroud) 如果我尝试
du -s -h -x /*
Run Code Online (Sandbox Code Playgroud)
它将尝试检查直接安装在 / 下的所有文件系统(真实的和伪的),例如 /dev、/proc、/sys、/run 和 /home(/home 位于额外的分区上)。
我认为它来自*的shell扩展,给du一个明确包含这些挂载点的参数列表。
有没有办法让 du 不检查挂载的文件系统,即使挂载点包含在参数列表中?
我真的不想输入 / 的所有子目录只是为了避免它们出现在参数列表中。