什么决定了单个分区的最大 inode?

what determines the maximum inodes of a single partition?

据我目前所知,inode 是单个分区中可以拥有的最大文件(和目录)。您可以填满整个磁盘 inode 而无需实际填满磁盘 space,或者您可以用一个非常大的文件填满磁盘 space,留下未使用的 inode。

最近我想到了一个问题:这些数字是从哪里来的?

您没有提到特定的文件系统,所以我假设是 ext4,尽管我所说的也应该主要适用于 ext3。

索引节点的数量是在创建文件系统时确定的。文件系统通常编写得足够灵活,以便可以在创建时指定此数字以更好地满足系统的需要。因此,如果您有很多小文件,则可以创建更多的 inode,如果您的大文件数量较少,则可以创建更少的 inode。

mkfs.ext4 中,您可以使用 -i 标志来指定每个 inode 的字节数。目前的默认值通常是每个索引节点 16384 字节。这个数字没有什么特别的,但是如果你假设 inode 大小是典型的 256 字节,每个 inode 是 16384 字节,你得到大约 1.56% 的磁盘 space 被 inode 使用。