http://en.wikipedia.org/wiki/Machine_Check_Exception

Machine-check exception

From Wikipedia, the free encyclopedia
  (Redirected from Machine Check Exception)
 

Machine Check Exception (MCE) is a type of computer hardware error that occurs when a computer's central processing unit detects a hardware problem.

Microsoft Windows displays the error using the blue screen of death containing the error message (the parameters inside the brackets vary):

STOP: 0x0000009C (0x00000004, 0x00000000, 0xB2000000, 0x00020151) "MACHINE_CHECK_EXCEPTION"

On Linux, a process (such as klogd[1] ) writes a message to the kernel log and/or the console screen (usually only to the console when the error is non-recoverable and the machine crashes as a result):

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

The error usually occurs due to failure or overstressing of hardware components where the error cannot be more specifically identified with a different error message.[clarification needed] Diagnosing the error message can be difficult, although Intel Pentium processors do generate more specific codes which can be decoded by contacting the manufacturer.[citation needed]

Most MCEs require a restart of the system before users can continue normal operation, and indicate a long-term problem of a general nature.[citation needed]

Problem types[edit]

Most of these errors relate specifically to the Pentium processor family. Similar errors may occur on other processors and will cause similar problems.

Some of the main hardware problems that cause MCEs include:

Possible causes[edit]

Normal causes[clarification needed] for MCE errors include overheating and/or incorrect hardware installation. Specific manually-induced causes include:

  • overclocking (which normally increases heat-output)
  • poorly-fitted heatsink/computer fans (the same problem can happen with excessive dust in the CPU fan)
  • an overloaded internal or external power-supply (fixable by upgrading)

Computer software can also cause MCE errors (normally by corrupting data which programs read or write). For example, software performing read or write operations from or to non-existent memory regions can lead to confusion for the processor and/or the system bus.[citation needed] Accessing memory marked off-limits by UEFI may cause MCE errors.[2]

Decoding MCEs[edit]

As noted previously, decoding MCE errors can prove difficult. Normally the manufacturer (especially processor manufacturers) will be able to provide information about specific codes. Consult the Intel 64 and IA-32 Architectures Software Developer's Manual[3] Chapter 15 (Machine-Check Architecture), or the Microsoft KB Article on Windows Exceptions.[4]

Programs to Decode MCEs[edit]

mcat
A Windows command-line program from AMD to decode MCEs from AMD K8, Family 0x10 and 0x11 processors
mcelog
Linux daemon by Andi Kleen to handle MCEs for modern x86 processors. mcelog can also decode machine checks.
parsemce
Linux program by Dave Jones to decode MCEs from AMD K7 processors
mced
Linux program by Tim Hockin to gather MCEs from the kernel and alert interested applications. The primary difference between this app and others is that this is a daemon (it is always running) which means that it can get MCE notifications as soon as the kernel finds them.[citation needed] It does not try to interpret the MCE data, just alert other apps.

See also[edit]

References[edit]

  1. Jump up^ "KLOGD(8)"UNIX man pages. 1999-08-21. Retrieved 2008-07-29. "klogd is a system daemon which intercepts and logs Linux kernel messages."
  2. Jump up^ "Bug 47121: UEFI boot panics on a new Samsung Series 9 laptop throwing a machine check exception"Linux kernel bug tracker. Retrieved 8 February 2013.
  3. Jump up^ "Intel 64 and IA-32 Architectures Software Developer's Manual".
  4. Jump up^ "Microsoft KB 329284 - Stop error "0x0000009C (0x00000004, 0x00000000, 0xb2000000, 0x00020151)"".

External links[edit]

MCE----Machine-check exception的更多相关文章

  1. x86服务器MCE(Machine Check Exception)问题

    MCE现象 Intel在Pentium 4.Xenon和P6系列处理器中实现了机器检查(Machinecheck)架构,提供能够检测和报告硬件(机器)的错误机制,如系统总线错误.ECC错误.奇偶校验错 ...

  2. java常见异常类图(分类了Error/RuntimeExecption、check Exception)

    版权:欧初权 http://www.cnblogs.com/langtianya/p/4435537.html

  3. Process Kill Technology && Process Protection Against In Linux

    目录 . 引言 . Kill Process By Kill Command && SIGNAL . Kill Process By Resource Limits . Kill Pr ...

  4. sysadmin_basement

    基本部分 1. 系统硬件 1.1. 主板 获取序列号 $ sudo dmidecode -t system |grep -i Serial Serial Number: CNU9032T3N 获取厂商 ...

  5. QEMU KVM Libvirt手册(7): 硬件虚拟化

    在openstack中,如果我们启动一个虚拟机,我们会看到非常复杂的参数 qemu-system-x86_64 -enable-kvm -name instance-00000024 -S -mach ...

  6. linux查看硬件详细信息dmidecode

    [root@zabbix_server src]# dmidecode|more # dmidecode 2.12 SMBIOS 2.7 present. structures occupying b ...

  7. Linux dmidecode 命令

    当我们需要获取机器硬件信息时,可使用linux系统自带的dmidecode工具进行查询. dmidecode 用于获取服务器的硬件信息,通常是在不打开计算机机箱的情况下使用该命令来查找硬件详细信息 这 ...

  8. SIMD指令集——一条指令操作多个数,SSE,AVX都是,例如:乘累加,Shuffle等

    SIMD指令集 from:https://zhuanlan.zhihu.com/p/31271788 SIMD,即Single Instruction, Multiple Data,一条指令操作多个数 ...

  9. Linux dmidecode命令

    1.linux系统自带的dmidecode工具查询服务器硬件信息 dmidecode 用于获取服务器的硬件信息,通常是在不打开计算机机箱的情况下使用该命令来查找硬件详细信息 这个命令可以查看内存的几乎 ...

  10. Linux服务器硬件设备信息查看

    一.cpu信息 cpu信息存储在/proc文件系统的cpuinfo(/proc/cpuinfo)文件里,可以直接查看这个文件以获得cpu信息,所列字段解释如下: processor : 核心编号,如: ...

随机推荐

  1. PAT Basic 1021

    1021 个位数统计 给定一个k位整数N = d~k-1~*10^k-1^ + ... + d~1~*10^1^ + d~0~ (0<=d~i~<=9, i=0,...,k-1, d~k- ...

  2. 1 producer — n consumers 模型 实现

    #include<stdio.h> #include<string.h> #include<pthread.h> #include<stdlib.h> ...

  3. python基础学习笔记——列表技巧

    列表: 循环删除列表中的每⼀个元素 li = [, , , ] for e in li: li.remove(e) print(li) 结果: [, ] 分析原因: for的运⾏过程. 会有⼀个指针来 ...

  4. Python开发:面向对象

    Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的. 如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特征,在 ...

  5. PYDay10&11&12&13-常用模块:time|datetime|os|sys|pickle|json|xml|shutil|logging|paramiko、configparser、字符串格式化、py自动全局变量、生成器迭代器

    1.py文件自动创建的全局变量 print(vars()) 返回值:{'__name__': '__main__', '__package__': None, '__loader__': <_f ...

  6. PYDay1-洗剑

    学习语言的阶段: 第一阶段:所有东西都是新的::一个月 第二阶段:开始懂一些::一个月 第三阶段:感觉自己是不可战胜的:第三~第四个月 第四阶段:突然感觉什么都不知道,开发是无止境的::培训阶段不会遇 ...

  7. APP版本升级

    /*** version_upgrade 版本升级信息表*/CREATE TABLE `version_upgrade` ( `id` smallint(4) unsigned NOT NULL AU ...

  8. BNU OJ 1027 金币系统

    金币系统 Time Limit: 1000ms Memory Limit: 65535KB   64-bit integer IO format: %lld      Java class name: ...

  9. Laya for...in和for each...in

    当for...in和for each...in同时作用于一个对象时,for...in 获取的是key, for each...in获取的是value for each(var i in loadInf ...

  10. 2017 Wuhan University Programming Contest (Online Round) D. Events,线段树区间更新+最值查询!

    D. Events 线段树区间更新查询区间历史最小值,看似很简单的题意写了两天才写出来. 题意:n个数,Q次操作,每次操作对一个区间[l,r]的数同时加上C,然后输出这段区间的历史最小值. 思路:在线 ...