重新启动我的机器后,sysctl -a
给了我不同的输出(一些变化如kernel.sched_domain.cpu0.domain0.max_newidle_lb_cost
预期的那样):
16c16
< fs.dentry-state = 37641 15280 45 0 0 0
---
> fs.dentry-state = 407249 384656 45 0 0 0
19,22c19,22
< fs.file-max = 19473815
< fs.file-nr = 624 0 19473815
< fs.inode-nr = 36402 297
< fs.inode-state = 36402 297 0 0 0 0 0
---
> fs.file-max = 19473810
> fs.file-nr = 864 0 19473810
> fs.inode-nr = 285420 308
> fs.inode-state = 285420 308 0 0 0 0 0
但我不太明白为什么我没有改变/etc/sysctl.conf
(也没有sysctl
间接改变),fs相关的设置也会改变。
更新nr_inodes
尤其是目录缓存条目总数的 急剧增加(中的第一个值fs.dentry-state
)。我重启后并没有创建 390K+ 个目录。
非常感谢任何想法或建议。
答案1
这些参数在运行时会发生变化,预计在重启后会有所不同。
https://www.kernel.org/doc/Documentation/sysctl/fs.txt
—fs.dentry-state
提供目录缓存的状态。
- 第一个数字显示目录缓存条目的总数
- 第二个数字显示未使用的条目的数量。
- 第三个数字表示目录被释放和被回收之间的秒数。
- 第四个测量系统当前请求的页面。
- 最后两个数字未使用并且仅显示零。
- 始终为 0。
可调
fs.file-nr
显示三个参数:
- 总数分配的文件句柄。
- 的数量目前使用文件句柄(使用 2.4 内核);或目前未使用文件句柄(使用 2.6 内核)。
- 可分配的最大文件句柄数(也可在 /proc/sys/fs/file-max 中找到)。
前两个数字参数当然会在运行期间和重启后发生变化。
其中fs.inode-nr
包含 nr_inodes 和 nr_free_inodes。Nr_inodes
代表系统已分配的 inode 数量。Nr_free_inodes 代表空闲 inode 数量(?)