缺lessprocfs和sysctl设置的默认值

我有几个关于处理procfssysctl值的问题。

一个function可以启用丢失/ proc文件?

缺less/procsysctl条目是否意味着该特定内核没有启用该选项? 换句话说:一个内核是否可以启用或支持一个function,而不需要相应的/proc条目呢? 我认为没有人通过删除填充/proc的代码部分来更改内核源代码。

如果可以的话 – 是否默认为特定的值?

我想知道如果相应的proc文件不存在/proc值默认值。 如果由于某种原因,我的内核支持aslr ,但/sys/kernel/randomize_va_space不存在,是否会导致aslr处于活动状态?

所有设置的行为是否相同?

所有内核,版本和function的行为是否相同? 还是必须分别获取每个设置的这些信息?

例如:

如果/proc/sys/kernel/sysrq在我的机器上不存在,这是否意味着

  1. Magic SysRQfunction在我的内核上不可用?

  2. 它是可用的?

  3. 它可以或不可以取决于其他一些我不知道的选项?

  4. 该function的特定代码是否包含硬编码的默认设置,并且该设置对于内核上的每个function都不同? 所以如果我想知道它默认的值是什么,我必须看看每个function的代码。

有很好的文档可以阅读关于内核设置的含义。 有没有解释默认行为的文档?

/proc/sys目录用于暴露Liunx内核的“调整旋钮”。 在/proc/sys有一些没有任何条目的工作内核特性是完全可能的(例如,如果这个内核特性没有任何参数,也没有任何发布给用户的话),没有条目需要。

但是,如果内核文档一些logging/引用的条目,但是找不到它们,则有两种可能性:

  • 你正在使用一个旧的内核,没有这些旋钮;
  • 你并没有使用一个vanilla内核 – 也就是说你的内核或多或less被某个人定制(可能是你的distro维护者)。

如果你认为在你的内核上启用了一些function,但是在/proc/sys找不到任何条目,请查看你的内核configuration文件(通常可以通过/boot或者/proc/config.gz的文件/proc/config.gz