是根据格式化硬盘时确定的数字吗?
例如:
$ 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
它不是针对每个磁盘的测量,而是针对每个文件系统的测量。对于许多文件系统,是的,它是在格式化时确定的。对于某些文件系统,它是动态的,基于文件系统使用情况、平均文件大小和其他信息位。