使用 df 和 du 命令时磁盘空间使用量不相加

使用 df 和 du 命令时磁盘空间使用量不相加

我正在尝试释放一些磁盘空间 - 如果我执行df -h,我有一个名为 /dev/mapper/vg00-var 的文件系统,它显示它的 4G,使用了 3.8G,剩余 205M。

这对应于我的 /var 目录。

如果我进入 /var 并执行du -kscxh *,总共是 2.1G

2.1G + 200M 可用 = 2.3G...所以我的问题是,剩下的 1.7G 在哪里?

答案1

您可能已经删除了一些大型日志文件、数据库文件或类似文件,正在等待持有该文件的进程将其释放。

在 Linux 中,文件删除只是取消链接文件。当不再有文件句柄连接到该文件时,它实际上会被删除。因此,如果您有一个 2 GB 的日志文件,并且您使用 rm 手动删除它,则磁盘空间将不会释放,直到您重新启动 syslog 守护程序(或HUP向其发送信号)。

尝试

lsof -n | grep -i deleted

看看是否还有任何已删除的僵尸文件仍然存在。

相关内容