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

时间:2016-07-21 06:35:30

标签: linux linux-kernel crash kernel kernel-module

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

1 个答案:

答案 0 :(得分:4)

您可以使用工具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手册页(包含在源代码中)以获取有关结构的更多信息。您可以在[test/来源的mce-inject目录中找到一些示例(

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

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

$ sudo ./mce-inject test/corrected

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