前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mce-inject使用方法

mce-inject使用方法

作者头像
党志强
发布2020-02-01 17:03:32
1.8K0
发布2020-02-01 17:03:32
举报
文章被收录于专栏:敏而好学敏而好学
  1. mce-inject功能

    mce-inject用于测试mcelog能否正确的获取硬件错误信息,并进行正确解码,mce-inject可以向内核注入指定的错误信息,因此,可以很方便的了解到mcelog的功能是否正常。

    这里需要注意的是,当用户利用mce-inject工具向内核注入不可恢复错误(如:fatal)时,会发生死机重新启动等现象,当然,可以通过更改sys文件系统下的tolerate文件来避免此现象的发生。

  1. 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)

  1. mce-inject使用

    mce-inject的使用方法也很简单,不过在使用前要现将tolerate的值修改为3,以防止死机重启事件发生,然后,在终端以root身份执行:

    mce-inject filename ...

    filename 存放要注入的具体错误类型

例如,一个mce-filename文件correct的内容为:

CPU 1 BANK 2STATUS correctedRIP 0x12341234

执行时,只需在终端输入:

#mce-inject ./correct

即可成功注入,详细的输出结果可以查看/var/log/mcelog文件。

当然,你可以自己编写相关的注入脚本。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-05-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档