小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
iBMC 提供了系统运行记录仪功能,该功能由黑匣子(KBox)模块、iBMC、解析工具 (hwkbox)三个模块协同完成,默认关闭。按照如图所示,系统运行记录仪主要实现了 linux 系统内核 panic 时的内核栈信息记录和导出,以及提供给第三方应用的读写 接口,便于第三方应用记录自定义信息;记录的系统故障数据(也称黑匣子数据)不 会因系统重启和上下电而丢失,但 AC 掉电会丢失。
应用场景一: 在内核 panic 触发时,注册的黑匣子模块自动抓取内核栈信息,并写 PCIe 设备,通过 DDR 控制器将定位信息保存到 DDR 中,最多 16M 字节数据。待系统重启后,通过 对 PCIe 设备读操作,系统侧定位工具把保存在 DDR 中的定位信息读取并解析,辅助定位。 即使系统无法正常启动, DDR 内的信息,也可以通过 iBMC导出并使用专门工具解析(目前只能导入到系统 OS 下使用 hwkbox 工具解析)。
应用场景二: 系统第三方应用调用黑匣子模块写接口将运行日志记录到 iBMC 的 DDR 中,最多 4M 字节数据;当应用异常时,系统侧调用黑匣子模块读接口或通过 iBMC 将运行日志读 取并解析以辅助问题定位。