【发布时间】:2016-06-12 18:10:48
【问题描述】:
我遇到的问题是 df -h 在基于 CentOS 的服务器上显示某些使用情况,但是 du 没有检测到磁盘使用情况。
在这种特殊情况下,我有:
[root@localhost /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mount 50G 47G 2.0G 88% /
sysfs 50G 47G 2.0G 88% /sys
虽然 du 返回的使用量小于 2 GB:
[root@localhost /]# du -sh
du: cannot access `./proc/11587/task/11587/fd/4': No such file or directory
du: cannot access `./proc/11587/task/11587/fdinfo/4': No such file or directory
du: cannot access `./proc/11587/fd/4': No such file or directory
du: cannot access `./proc/11587/fdinfo/4': No such file or directory
1833M .
我用 lsof 检查了打开的已删除文件,并检查了不同的挂载,但是我找不到任何东西。
谁能给点其他建议?
【问题讨论】:
-
如果 df 真的只显示 2 个挂载的文件系统,您可能在容器化环境中运行。您需要访问底层系统才能真正了解占用空间的内容。
-
确实,服务器是基于容器的,但是我不确定哪些文件占用了这个空间以及如何检查它们。由于文件/目录似乎不存在,您对如何调查占用空间的内容有什么建议吗?
-
du(和lsof,如果有大的已删除文件)是正确使用的工具,但您需要在容器之外使用它们。容器正在做它的工作 - 防止它的用户在它之外看到(并进行更改)。
标签: linux centos disk linux-disk-free