异常检测与处理

优质
小牛编辑
136浏览
2023-12-01

异常检测与处理

[MCE]
mce=off
彻底禁用MCE(CONFIG_X86_MCE)
[MCE]
mce=dont_log_ce
不为已纠正错误(corrected error)记录日志。
[MCE]
mce=容错级别[,超时]
容错级别(还可通过sysfs设置):
0 在出现未能纠正的错误时panic,记录所有已纠正的错误
1(默认值) 在出现未能纠正的错误时panic或SIGBUS,记录所有已纠正的错误
2 在出现未能纠正的错误时SIGBUS或记录日志,记录所有已纠正的错误
3 从不panic或SIGBUS,记录所有日志。仅用于调试目的。
超时(单位是微秒[百万分之一秒]):在machine check时等待其它CPU的时长,"0"表示不等待。
[ACPI]
erst_disable
禁用ERST(Error Record Serialization Table)支持。主要用于解决某些有缺陷的BIOS导致的ERST故障。
[ACPI]
hest_disable
禁用HEST(Hardware Error Source Table)支持。主要用于解决某些有缺陷的BIOS导致的HEST故障。
[KNL]
nosoftlockup
禁止内核进行软死锁检测
[KNL]
softlockup_panic={0|1}
是否在检测到软死锁(soft-lockup)的时候让内核panic,其默认值由 CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE 确定
[KNL]
nowatchdog
禁止硬死锁检测(NMI watchdog)
[KNL,BUGS]
nmi_watchdog={0|panic|nopanic}
配置nmi_watchdog(不可屏蔽中断看门狗)。更多信息可查看"lockup-watchdogs.txt"文档。
0 表示关闭看门狗;
panic 表示出现看门狗超时(长时间没喂狗)的时候触发内核错误,通常和"panic="配合使用,以实现在系统出现锁死的时候自动重启。
nopanic 正好相反,表示即使出现看门狗超时(长时间没喂狗),也不触发内核错误。
unknown_nmi_panic
在收到未知的NMI(不可屏蔽中断)时直接panic
oops=panic
在内核oops时直接panic(而默认是仅仅杀死oops进程[这样做会有很小的概率导致死锁]),而且这同样也会导致在发生MCE(CONFIG_X86_MCE)时直接panic。主要目的是和"panic="选项连用以实现自动重启。
[KNL]
panic=秒数
内核在遇到panic时等待重启的行为:
秒数>0 等待指定的秒数后重启
秒数=0(默认值) 只是简单的挂起,而永不重启
秒数<0 立即重启