red*_*0ct 5 linux kernel-panic proc sysctl linux-kernel
我一直/proc/sys/kernel/panic
设置为0
. 查看kernel.org中此选项的描述,我们可以看到:
恐慌:
此文件中的值表示内核在出现紧急情况时重新启动之前等待的秒数。使用软件看门狗时,推荐设置为60。
从这里可以得出结论,0
重启前等待 0 秒 - 立即重启。
但proc
MAN 页面声明如下:
/proc/sys/kernel/panic
该文件提供对内核变量 panic_timeout 的读/写访问。如果这是零,内核将在恐慌中循环;如果非零,则表示内核应该自动执行?在此秒数后启动。当您使用软件看门狗设备驱动程序时,建议设置为 60。
这里的0
意思是对映的东西 - 永远不要重启。
那么为什么这样一个值得信赖的来源会提供如此误导性的信息呢?或者 MAN 页面可能不准确?
PS 只是从一panic_on_oops
节中的提示(如果你碰巧读到这个)你可以猜到 MAN 页面是正确的。或者,如果您在技术上足够熟练,可以研究内核源代码中的某些内容。
Ste*_*itt 17
权威来源是内核中的实现,所以让我们先看看它。
该panic
条目sysctl
对应于一个内核变量叫panic_timeout
。这是一个有符号整数,用于控制恐慌行为,如下所示:
panic_timeout
严格为正,内核会在恐慌后等待panic_timeout
几秒钟;panic_timeout
非零,内核会在恐慌后重新启动(等待后,如果合适的话);所以手册页是正确的,内核自己的文档不完整;但sysctl/kernel.rst
现在文件panic
更详细。这在内核的 5.7-rc1 版本中得到了修复。
归档时间: |
|
查看次数: |
1220 次 |
最近记录: |