![为什么 Linux 内核版本 2.6 上不存在 fs.inode-max 内核可调参数?](https://linux22.com/image/119966/%E4%B8%BA%E4%BB%80%E4%B9%88%20Linux%20%E5%86%85%E6%A0%B8%E7%89%88%E6%9C%AC%202.6%20%E4%B8%8A%E4%B8%8D%E5%AD%98%E5%9C%A8%20fs.inode-max%20%E5%86%85%E6%A0%B8%E5%8F%AF%E8%B0%83%E5%8F%82%E6%95%B0%EF%BC%9F.png)
以下输出(来自运行 CentOS 6.6 的 Vagrant VM)大部分是不言而喻的:
[root@localhost ~]# echo 131072 > /proc/sys/fs/inode-max
-bash: /proc/sys/fs/inode-max: No such file or directory
[root@localhost ~]# sysctl -q -p
[root@localhost ~]# echo 'fs.inode-max = 131072' >> /etc/sysctl.conf
[root@localhost ~]# sysctl -q -p
error: "fs.inode-max" is an unknown key
[root@localhost ~]# man proc | col -b | grep -A6 '/proc/sys/fs/inode-max$'
/proc/sys/fs/inode-max
This file contains the maximum number of in-memory inodes. On
some (2.4) systems, it may not be present. This value should be
3-4 times larger than the value in file-max, since stdin, stdout
and network sockets also need an inode to handle them. When you
regularly run out of inodes, you need to increase this value.
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]#
如何协调暗示这将不存在的手册页声明在 2.4 内核上,事实上它不存在于这个 2.6 内核上?
答案1
这man7.org 中的手册页在 Debian 中有一个更有用的描述:
/proc/sys/fs/inode-max
(仅在 Linux 2.2 之前存在)该文件包含内存中 inode 的最大数量。该值应比 file-max 中的值大 3-4 倍,因为 stdin、stdout 和网络套接字也需要 inode 来处理它们。当您经常用完 inode 时,您需要增加此值。
从Linux 2.4开始,inode数量不再有静态限制,并且该文件被删除。
根据最后一句话,它不存在,因为不需要。