异常检测与处理
优质
小牛编辑
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 立即重启