- 文档首页
云服务器
云服务器ECS
最佳实践
镜像
Linux内核调优
在Linux操作系统中配置panic宕机重启功能
Linux内核调优
在Linux操作系统中配置panic宕机重启功能
在Linux操作系统中配置panic宕机重启功能
当服务器由于内核panic宕机时,服务器中运行的业务也会中断。若您的业务可以通过重启恢复,可根据本文指引配置服务器panic宕机自动重启功能。
术语解释
关于内核错误
内核错误(Kernel panic)是指操作系统在监测到内部的致命错误(例如硬件故障、内存访问)。当内核触发panic时,会尽可能的打印日志信息,用于辅助问题定位,在未进行特殊配置的情况下,日志打印结束后,系统会进入宕机状态,不会响应外界的输入,也不会有新的日志输出,用户业务中断。
启动参数panic
Linux内核提供了参数panic来控制机器发生panic宕机时的行为。
- panic=0,默认行为,服务器宕机状态,不会重启。
- panic=n (n > 0),服务器在宕机n秒后重启。
- panic=n (n < 0),服务器在宕机时立即重启。
操作步骤
步骤一:配置宕机重启
方式一:通过proc接口配置
在目标Linux实例中执行如下命令,使用proc接口配置panic参数值。
说明
- 本方式支持在系统运行中修改并生效配置,但重启操作系统后将失效,需要重新配置。
- 请将命令中5,替换为您期望的发生panic宕机时重启时间,单位为秒。例如示例命令表示服务器将在panic宕机时,5秒后重启。
echo 5 > /proc/sys/kernel/panic
方式二:通过grub文件配置
说明
- 本方式配置后需重启操作系统生效,但重启操作系统后不会失效,无需重复配置。
- 请将命令中5,替换为您期望的发生panic宕机时重启时间,单位为秒。例如示例命令表示服务器将在panic宕机时,5秒后重启。
- 在目标Linux实例中执行如下命令,将panic后自动重启参数填入grub文件。
sed -i "/GRUB_CMDLINE_LINUX=/s/\"$/ panic=5 \"/" /etc/default/grub
- 执行如下命令,将参数配置固化到grub文件,成功后重启操作系统该配置也会生效,无需重复配置。
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
grub-mkconfig -o /boot/grub2/grub.cfg
grub-mkconfig -o /boot/efi/EFI/debian/grub.cfg
grub-mkconfig -o /boot/grub2/grub.cfg
grub-mkconfig -o /boot/efi/EFI/ubuntu/grub.cfg
步骤二:验证配置
注意
当操作系统配置了kdump服务时,服务器不会在panic时保持宕机状态,而会执行kdump流程,此时您观察到的重启现象不由参数panic控制。
通过proc接口配置验证方式
- 在目标Linux实例中执行如下命令,触发panic宕机。
echo c > /proc/sys-trigger
通过grub文件配置验证方式
- 在目标Linux实例中执行如下命令,查看回显信息中是否含有panic参数项。
cat /proc/cmdline | grep 'panic'
-
echo c > /proc/sys-trigger
最近更新时间:2025.02.28 11:35:54