重启后 fs.* 有变化吗?

重启后 fs.* 有变化吗?

重新启动我的机器后,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提供目录缓存的状态。

  1. 第一个数字显示目录缓存条目的总数
  2. 第二个数字显示未使用的条目的数量。
  3. 第三个数字表示目录被释放和被回收之间的秒数。
  4. 第四个测量系统当前请求的页面。
  5. 最后两个数字未使用并且仅显示零。
  6. 始终为 0。

可调 fs.file-nr显示三个参数:

  1. 总数分配的文件句柄
  2. 的数量目前使用文件句柄(使用 2.4 内核);或目前未使用文件句柄(使用 2.6 内核)。
  3. 可分配的最大文件句柄数(也可在 /proc/sys/fs/file-max 中找到)。

前两个数字参数当然会在运行期间和重启后发生变化。

其中fs.inode-nr 包含 nr_inodes 和 nr_free_inodes。Nr_inodes
代表系统已分配的 inode 数量。Nr_free_inodes 代表空闲 inode 数量(?)

相关内容