例如,如果我在 grub 命令中设置,并且也在sysctl config 中oops=panic
设置?kernel.panic_on_oops=0
例如:在/etc/sysctl.d/中
会发生什么?
这两个参数是否映射到内核中的相同功能/特性?
为什么不使用相同的变量名?
例如,如果我在 grub 命令中设置,并且也在sysctl config 中oops=panic
设置?kernel.panic_on_oops=0
例如:在/etc/sysctl.d/中
会发生什么?
这两个参数是否映射到内核中的相同功能/特性?
为什么不使用相同的变量名?
sysctl
设置在启动后应用,因此在大多数情况下它们会覆盖内核命令行上给出的等效设置(例外是只能设置一次的值)。内核
oops
参数和kernel.panic_on_oops
sysctl 都映射到同一个变量panic_on_oops
. 这是通过oops_setup
在命令行上指定值来设置的,并通过表中的 sysctl导出kernel
。变量定义显示了设置它的第三种方式:它的默认值由构建配置设置
CONFIG_PANIC_ON_OOPS
控制。至于为什么不使用相同的名称,可能有历史原因,并且仍然存在一个显着差异:
panic_on_oops
期望 0 或 1,而oops
寻找与“panic”匹配的值;因此,虽然这两个设置都映射到同一基础变量,但oops
增加了一定程度的间接性。