在足够大的计算机群中,通常会有几个坏的 CPU。一般情况下可以通过查看运行的内核代码来识别。如果存在有问题的 CPU,那内核代码在其他地方运行良好,而在某个故障的 CPU 内核上不断崩溃。
然而这么多年来,出问题的 CPU 的故障模式是非常具体的,你可能在 bash、python 或各种系统守护程序中找到分段错误,然而故障消息不会告诉你是哪个 CPU 出了问题。现在我们将 printk () 添加到 show_signal_msg () ,就可以在分段错误时打印对应的 CPU、内核和套接字。
目前这个功能还不完美,可能出现误报的情况。因为从发生故障到输出对应的错误消息,任务可能会在另一个 CPU 上重新安排,导致报告的 CPU 编号出错。
但它已经足以帮助人们识别出大部分有故障的 CPU 内核。