尽我所知, 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-inject
的test/corrected
示例错误:
$ sudo ./mce-inject test/corrected
你现在可以检查你的日志,发现错误已经被注入。