我如何知道 inode 数量是否已被占用?

我如何知道 inode 数量是否已被占用?

根据我在这里读到的内容http://www.linux.org/article/view/intro-to-inodes,inode 结构占用了存储单元大小的 1%。此外,还可能发生这样的情况(如果我没记错的话,由于大量的小文件),即在存储单元完全填满之前,为 inode 结构保留的空间就已经填满了。

我如何知道这是否正在发生?或者距离发生还有多远?

这是我在阅读这篇文章时出现的一个问题,实际上这可能是我工作中遇到的问题的原因。

谢谢你!

答案1

您可以随时比较空闲块的比例

df -k

空闲 inode 的比例

df -i

如果比例大致相同,则您使用的块和 inode 的比例与创建文件系统时计划的比例相似。如果使用的块比例大得多,那么您可能会在用完 inode 之前用完块。如果 inode 比例大得多,那么您可能会在用完块之前用完 inode。

答案2

@Celada 的回答当然是正确的。我只是想补充一点,通常你不必担心 inode 的数量,因为默认设置会为 inode 保留相当多的空间。因此,如果你创建了很多非常小的文件,你只需要担心这一点。

以我的 /home 目录为例,它是一个 ext4 文件系统。它有 184,518,716 个 1k 数据块空间和 11,722,752 个 inode。这意味着,只有当您拥有超过 1100 万个平均小于 16kB 的文件时 (184518716/11722752=15.74),inode 空间才会在数据空间之前用完。这确实是一种非常不寻常的情况。

相关内容