磁盘上可用 inode 的数量由什么决定?

磁盘上可用 inode 的数量由什么决定?

是根据格式化硬盘时确定的数字吗?

例如:

$ df -Ti /
Filesystem     Type Inodes IUsed  IFree IUse% Mounted on
/dev/dm-0      ext4 983040 95683 887357   10% /

这个983040从哪里来?我们可以增加/减少它吗?在什么限度内?

答案1

如果您谈论的是 ext4 文件系统,则它基于文件系统的大小。默认为每 16,384 字节 1 个 inode。更多信息请访问Archwiki - ext4 - 每个 inode 的字节数比率

注意这个比例在创建文件系统时进行修改,请参阅mkfs.ext4 的手册页

为了解决对该问题的后续编辑,您在其中添加了一些问题:

这个983040从哪里来?

它来自文件系统大小。默认情况下,文件系统每 16,384 字节 1 个 inode。

我们可以增加/减少它吗?

是的,但并不容易。备份文件系统,使用手册页中的“-i bytes-per-inode”参数重新创建文件系统。恢复文件系统内容。

在什么限度内?

如手册页所示,每个 inode 的字节数不应设置为小于块大小,否则您将可能拥有比可能使用的更多的索引节点。正如 Stéphane Chazelas 指出的那样,空文件、设备、fifo、套接字、短符号链接消耗一个 inode,但不消耗一个块。

真的需要在根文件系统中创建超过 887,357 个文件吗?

答案2

它不是针对每个磁盘的测量,而是针对每个文件系统的测量。对于许多文件系统,是的,它是在格式化时确定的。对于某些文件系统,它是动态的,基于文件系统使用情况、平均文件大小和其他信息位。

相关内容