【问题标题】:Linux server does not display disk usage correctlyLinux 服务器无法正确显示磁盘使用情况
【发布时间】: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


【解决方案1】:

试试这个方法:

du -h * --max-depth=0

【讨论】:

  • 无论使用什么 du 参数/参数,它都显示相同。这些文件实际上无法访问,但它们似乎仍然占用空间,我不确定如何检查占用该空间的内容.. 它不是保留的。
  • 上面的“du”命令/不显示47G的总已用空间?命令“fdisk -l”显示什么?
【解决方案2】:

du -sh * 很可能是您应该使用的。这是我自己的目录的一个例子:

$ du -sh *
172K    css
12K index.html
228K    js
4.0K    README.md
52K sh

【讨论】:

  • 与du -sh *结果相同。
猜你喜欢
  • 2019-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-20
  • 1970-01-01
  • 2018-06-30
  • 2016-05-28
  • 1970-01-01
相关资源
最近更新 更多