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

尽我所知, mcelog用于检查硬件中的内存错误。 我想模拟相同的情况。 我没有任何硬件的问题,我可以模拟这种情况下的任何机器。 有人可以build议我一些模拟器或任何其他方式,通过我可以产生这些错误。 因为我的主要目标是显示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 source]的test/目录下找到一些例子(

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

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

 $ sudo ./mce-inject test/corrected 

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