计算机科学

首页 > 计算机科学

机器检查异常

2018-07-27 10:47:29     所属分类:计算机错误

机器检查异常英语:Machine Check ExceptionMCE)是计算机的中央处理器检测到一个硬件问题发生的计算机硬件错误。

现代版本的Microsoft Windows通过Windows硬件错误架构英语Windows Hardware Error Architecture处理机器检查异常。当该架构检测到机器检查异常(MCE)时,它会以蓝屏死机显示该错误,附以下列参数(数值可能变化,但机器检查异常导致的首个参数始终为0x0):[1]

 *** STOP: 0x00000124 (0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000) 

在Linux上,进程(例如klogd[2])会向内核日志和/或控制台屏幕写入消息(通常仅在错误不可恢复且机器因此崩溃时,消息才会发送到控制台):

CPU 0: Machine Check Exception: 0000000000000004
Bank 2: f200200000000863
Kernel panic: CPU context corrupt

该错误通常是由于硬件组件的故障或过负载而发生,其中的错误不能用更具体的错误消息来识别。诊断其错误消息可能很困难,尽管英特尔奔腾处理器确实生成更具体的代码,可以联系制造商进行解码。[来源请求]

大多数机器检查异常需要重启系统才能继续为用户正常运行。[来源请求]

目录

  • 1 问题类型
  • 2 可能的原因
  • 3 解码MCE
    • 3.1 解码MCE的程序
  • 4 参见
  • 5 参考资料
  • 6 外部链接

问题类型

这些错误大多明确与奔腾处理器家族有关[来源请求]。其他处理器上也可能出现类似的错误以及导致类似的问题。

导致机器检查异常的一些主要的硬件问题包括:

  • 系统总线错误:(处理器与主板之间的通信错误)。
  • 内存错误:奇偶校验位检测到发生内存错误。前向纠错(ECC)可以纠正有限的内存错误以继续正常运行。
  • CPU缓存错误。

可能的原因

机器检查异常的一般原因包括系统过热、硬件安装不正确。具体的因操作引起的原因有:

  • 超频(增加了热量输出)。
  • 错误安装散热片/散热风扇英语Computer fan(CPU风扇灰尘过多或故障也可能导致)
  • 内部或外部电源过载(可通过升级电源解决)

计算机软件也可能导致机器检查异常错误(通常因为程序读取或写入了损坏的数据)。例如,软件读或写不存在的内存区域可能导致处理器或系统总线的失措。[来源请求]访问被UEFI标记为限制的内存也可能机器检查异常错误。[3]

解码MCE

如前所述,机器检查错误的准确解码存在难度。通常来说,制造商(尤其是中央处理器的制造商)能够提供有关特定代码的信息。参阅“Intel 64和IA-32架构软件开发人员手册”[4]第15章(机器检查架构),或微软知识库文章 - Windows 异常。[5]

解码MCE的程序

  • mcat:AMD的一个Windows命令行程序,可解码AMD K8,家族0x10和0x11的处理器的MCE。
  • mcelog[6]:Andi Kleen制作的一个Linux守护进程,它处理现代x86处理器的MCE。mcelog也可解码机器检查。
  • parsemce[7]:Dave Jones制作的一个Linux程序,解码AMD K7处理器的MCE。
  • mced[8]:Tim Hockin制作的一个Linux程序,从内核收集MCE并提醒感兴趣的应用程序。它不会尝试解释MCE数据,只是提醒其他程序。

参见

  • 机器检查架构英语Machine check architecture

参考资料

  1. ^ Bug Check 0x124: WHEA_UNCORRECTABLE_ERROR. MSDN. 2016-09-29 [2016-10-26]. 
  2. ^ Steve Lord, Greg Wettstein. klogd(8) - Linux man page. [2016-10-26]. klogd is a system daemon which intercepts and logs Linux kernel messages. 
  3. ^ Bug 47121: UEFI boot panics on a new Samsung Series 9 laptop throwing a machine check exception. Linux kernel bug tracker. 2012-10-13 [2016-10-26]. 
  4. ^ Intel 64 and IA-32 Architectures Software Developer's Manual: Volume 3A: System Programming Guide, Part 1 (PDF). Intel. May 2011 [2016-10-26]. (原始内容 (PDF)存档于2008-12-21). 
  5. ^ Stop error message in Windows XP that you may receive: "0x0000009C (0x00000004, 0x00000000, 0xb2000000, 0x00020151)". MSDN. 2015-12-07 [2016-10-26]. 
  6. ^ mcelog: Advanced hardware error handling for x86 Linux. 2015-04-20 [2016-10-26]. 
  7. ^ parsemce: Linux Machine check exception handler parser.. 2003-07-22 [2016-10-26]. 
  8. ^ GitHub上的mcedaemon页面

外部链接

  • mcelog: Advanced hardware error handling for x86 Linux
  • parsemce: Linux Machine check exception handler parser
版权声明:本文由北城百科网创作,转载请联系管理获取授权,未经容许转载必究。https://www.beichengjiu.com/computerscience/338959.html

显示全文

取消

感谢您的支持,我会继续努力的!

扫码支持
支付宝扫一扫赏金或者微信支付5毛钱,阅读全文

打开微信扫一扫,即可进行阅读全文哦


上一篇:日志文件
下一篇:相依性地狱
相关推荐
爱淘宝