我们如何生成 MCE(机器检查错误)

How can we generate MCE(machine check errors)

据我所知,mcelog用于检查硬件中的内存错误。我想模拟同样的情况。我没有任何硬件有问题的机器可以模拟这种情况。任何人都可以建议我一些模拟器或任何其他方式来生成这些错误。因为我的主要目的是显示Uncorrectable Memory errors。谢谢

您可以使用工具 mce-inject,但您需要加载 mce_inject 内核模块。这个内核模块在 Ubuntu 12.04(我唯一可以访问的系统)上可用,也应该在较新的 Ubuntus 上可用。

首先,您需要加载模块:

$ sudo modprobe mce_inject

接下来,您需要下载mce_inject工具的源码,安装依赖,编译:

$ git clone https://github.com/andikleen/mce-inject.git
$ sudo apt-get install flex bison
$ cd mce-inject
$ make

接下来,您需要创建一个文件来模拟您想要的错误。您应该查看 mce-inject 手册页(包含在源代码中)以获取有关该结构的更多信息。您可以在 [mce-inject 来源](

test/ 目录中找到一些示例

注入致命错误会使系统不稳定并崩溃;不建议这样做。

一旦您决定使用哪个示例文件(或创建了您自己的示例文件),您就可以使用 mce-inject 注入它。例如,注入 test/corrected 示例错误包含在 mce-inject:

$ sudo ./mce-inject test/corrected

您现在可以检查您的日志,发现错误已被注入。