如何提前配置 Linux 内核以在恐慌时重新启动?

如何提前配置 Linux 内核以在恐慌时重新启动?

你可以在内核命令行中输入“panic=N”,使系统在panic后N秒重新启动。

但是,在引导加载程序发挥作用之前,是否有一个配置选项可以指定这一点(除了默认的内核命令行选项)?某些内核选项可能是?

答案1

man proc:

/proc/sys/内核/恐慌

该文件提供对内核变量panic_timeout的读/写访问。如果这个值为零,内核将在恐慌时循环;如果非零,则表明内核应在此秒数后自动重新启动。当您使用软件看门狗设备驱动程序时,建议设置为 60。

答案2

配置文件是引导(grub)配置文件本身,因为它是在引导时调用的参数,并且在文件系统未安装时不能期望 grub 从其他配置文件中读取。

但是,这是一个初始化设置,运行时也可以通过 进行修改sysctl。所以,/etc/sysctl.conf参数更新本质上kernel.panic = 3是配置更新。

答案3

kernel.panic是一个系统控制。有很多方法可以配置这些,例如通过sysctl.d

答案4

好像没有这样的配置选项。默认超时为 0,根据http://www.mjmwired.net/kernel/Documentation/kernel-parameters.txt#1898是“永远等待”。

该选项定义在内核/panic.c,您可以编写一个补丁将初始值设置为不同的值。

要硬编码 3 秒后重新启动,请更改:

int panic_timeout;

到:

int panic_timeout = 3;

相关内容