【问题标题】:df -kvh not showing the free space - Where is the remaining spacedf -kvh 不显示可用空间 - 剩余空间在哪里
【发布时间】:2014-12-19 18:39:08
【问题描述】:

在我使用的一台 Linux 开发服务器上,我看到根“/”级别的空间使用率为 100%。根文件夹有一个名为“production”的文件夹,它与根所在的文件管理器位于不同的挂载/文件管理器上。 Root 拥有接近 7.7/8 GB 的磁盘空间。

我正在对所有以 MB 或 GB 为单位的文件夹进行搜索“du -chs”,并且还找到了根“/”(不包括 /production)使用的总空间,但我没有得到其他空间的位置是以及为什么当所有文件夹(不包括 /production)都显示它时 100% 使用它,总共只有 2.8GB。

  1. 如何找回丢失的空间?

  2. 为什么 df -kvh 和 du 命令不能反映所有空间正在使用/未正确使用(当我们说 100% 使用和 du 说 2.8GB 在根“/”级别时)?大约(已分配 7.7 - 已使用 2.8)GB 空间在哪里?

任何想法!我可能在这里遗漏了什么。

[root@linux-server /]# df -kvh / && echo && echo && df -kvh /production
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/rootvg-root
                      7.7G  7.3G     0 100% /


Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/rootvg-production
                      258G  231G   14G  95% /production
[root@linux-server /]#


[root@linux-server /]# ls -1|grep -v "production" | xargs du -chs 2>/dev/null|egrep "total|[0-9][0-9]*[MG]"
7.8M    bin
20M     boot
106M    etc
320M    lib
25M     lib64
60M     root
39M     sbin
1.9G    usr
364M    var
2.8G    total
[root@linux-server /]#

【问题讨论】:

  • 我对投反对票的人的问题。你为什么这么做?这是我面临的一个有效问题,我正在努力寻找答案。

标签: filesystems mount diskspace du


【解决方案1】:

好的。我不知道谁对这个问题投了反对票,但找出导致这种行为的原因对我来说很重要。我想与社区分享答案。

因此,即使根“/”处有接近 5 GB 的可用空间,df 命令也没有显示它,可能是因为某些操作系统(错误/设计使然)。

如果你杀死一个进程并且如果它留下一些子进程或者如果你杀死一个正在使用文件夹的进程并且如果你删除该文件夹(在进程正在进行时),那么这个可能会出现问题。

高级,如果系统没有以某种方式杀死子进程/pid(这不是必需的)进程,“df”命令将无法正确反映您的空间(因为该子进程/进程仍然以某种方式持有资源) .

现在,我是如何解决的。

我看到有一些 Jenkins (java) 进程正在运行,我杀死了它们。那仍然没有收回我的空间(我看到只有 420KB 可用),然后我执行“ps -eAf”并看到以下进程正在运行。

c123456  23019     1 99 Oct21 ?        3-07:57:35 readelf -Wa /tmp/Goslr0qbOe/content2/jdk16-solaris-1.6.0.3.tar/jdk1.6.0_03/jre/lib/sparc/libioser12.so

(上述过程是由某个实用程序启动的,可能是“pkgdiff”或由 pkgdiff 实用程序启动的某个子步骤/过程。我的一个团队成员正在比较 JDK 1.6 与 JDK 1.7 tar 文件,不知何故,上述过程仍然存在即使在我杀死了主要的 pkgdiff / 相关 PID 并且两天前也删除了 /tmp/Goslr0qb0e 之后仍在运行)。

我一杀掉上面的PID(23019)……神子!我回来做生意了。

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/rootvg-root
                      7.7G  2.5G  4.9G  34% /

即使在我重新启动 Jenkins 实例之后,df 现在也正确显示它对于根“/”分区/挂载/文件管理器有 4.9G 空闲空间,这证实了上述进程占用了资源(现在我假设是超出“df”命令输出的控制/范围)。

【讨论】:

    【解决方案2】:

    从技术上讲,文件描述符被一些正在运行的程序使用。一旦文件被应用程序关闭或应用程序结束时,可用空间将正确反映。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-09
      • 2013-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多