我正在运行 Ubuntu,遇到了根分区磁盘空间不足的问题。
当我表演时,df -h
我得到以下结果:
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 4.6G 4.5G 0 100% /
但实际上只有 2GB 的文件占用了这个分区。然后我运行了以下命令df -i
,得到了以下结果:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda6 305824 118885 186939 39% /
我不知道这个-i
标志是做什么的,但它清楚地显示只使用了 39%。
有人能解释一下我的磁盘空间到哪里去了吗?
答案1
您可能有一个进程保持打开一个已被删除的文件。已删除但打开的文件继续占用磁盘空间,但不显示在 du 或 ls 中。“df -i”是一种转移注意力的手段,它只显示您有多少个文件,或者更确切地说,有多少个 inode。
如果您无法弄清楚哪个进程正在打开一个大文件(已删除),而且很可能是一个僵尸进程或者某个挂起的进程,那么可能需要重新启动了。
答案2
你可以试试:
lsof +L1
显示未链接的文件,包括其大小以及打开的内容。
答案3
df -i 显示的 inode 不是您要查找的内容。您的块大小是否异常大,可能是 128/256k?如果是,即使是 1K 文件也会占用那么多空间。
答案4
df -i 显示您已使用了多少 i 节点,而不是使用了多少空间。
一些 Unix/Linux 文件系统(您没有说明您使用什么)除了磁盘空间限制外,还对它们可以容纳的文件/i 节点数量有限制。这意味着如果您有许多非常小的文件,您的文件系统可能会满,即使还有剩余空间,因为所有 i 节点都已用完。要检查这一点,您可以使用 df -i 命令查看使用的 i 节点。