本篇内容主要讲解“mce-inject使用方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mce-inject使用方法是什么”吧!
mce-inject功能
mce-inject用于测试mcelog能否正确的获取硬件错误信息,并进行正确解码,mce-inject可以向内核注入指定的错误信息,因此,可以很方便的了解到mcelog的功能是否正常。
这里需要注意的是,当用户利用mce-inject工具向内核注入不可恢复错误(如:fatal)时,会发生死机重新启动等现象,当然,可以通过更改sys文件系统下的tolerate文件来避免此现象的发生。
tolerate文件配置
位置:/sys/devices/system/machinecheck/machinecheck*/
说明:其中machinecheck*中的*号由CPU的个数所决定的,如果是双核的,则存在machinecheck0和machinecheck1两个目录,对应目录里都有一个tolerate文件,tolerate中存放容忍程度值。
功能:向用户提供一个可选择的出现相应硬件错误时的容忍程度(tolerate),比如:当tolerate的值为1时,出现fatal错误时就会死机,重新启动,并且该错误信息并不被记录;当tolerate的值为3时(注意该值只用于测试),在出现fatal错误时,机器会容忍该错误不予响应,不会出现死机重新启动现象,并且会记录相关错误信息。
查看tolerate
以root身份进入相应的目录进行查看即可。如:
#cd /sys/devices/system/machinecheck/machinecheck0
#cat tolerate
查看CPU0的tolerate值。
设置tolerate
以root身份进入相应的目录进行修改即可,设置tolerate的方法很多,如:
#cd /sys/devices/system/machinecheck/machinecheck0
#echo 3 >tolerate
数值含义
tolerate的取值可以为0、1、2、3。
0: always panic on uncorrected errors, log corrected errors
1: panic or SIGBUS on uncorrected errors, log corrected errors
2: SIGBUS or log uncorrected errors (if possible), log corrected errors
3: never panic or SIGBUS, log all errors (for testing only)
mce-inject使用
mce-inject的使用方法也很简单,不过在使用前要现将tolerate的值修改为3,以防止死机重启事件发生,然后,在终端以root身份执行:
mce-inject filename ...
filename 存放要注入的具体错误类型
例如,一个mce-filename文件correct的内容为:
CPU 1 BANK 2 STATUS corrected RIP 0x12341234 |
执行时,只需在终端输入:
#mce-inject ./correct
即可成功注入,详细的输出结果可以查看/var/log/mcelog文件。
当然,你可以自己编写相关的注入脚本。
到此,相信大家对“mce-inject使用方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。