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

MCE现象

Intel在Pentium 4、Xenon和P6系列处理器中实现了机器检查(Machinecheck)架构,提供能够检测和报告硬件(机器)的错误机制,如系统总线错误、ECC错误、奇偶校验错误、缓存错误、TLB错误等。它包括一直MSR(Model-Specific Registers)寄存器,用来设置机器检查和额外的bank MSR记录错误。

当机器检查到不可纠正的machine-check错误时,就触发一个machine-check异常。machine-check架构不允许在出现MCE后处理器重启,但MCE处理程序可以从MSR寄存器收集相关信息。

CPU 7: Machine Check Exception: 5 Bank 0: b200004010000400

RIP !INEXACT! 10:<ffffffff8010f16e> {mwait_idle+0x5e/0x90}

TSC 1952dbeebcc8

Kernel panic: Machine check

Reconfiguring memory bank information….

This may take a while….

done waiting: 3 cpus not responding

Warning: Non-empty request queue

I/O requests in flight at dump time

CPU 7: Machine Check Exception: 4 Bank 0: f200004040000400

RIP !INEXACT! 10:<ffffffff8011ef69>

MCE错误判断原则

凡是内核死机打印“Machine Check Exception“或内核栈信息中打印有do_machine_check()函数,均为MCE问题。

MCE错误来源

  • PCI-E设备信号质量/时钟
  • CPU芯片损坏/设计BUG

    CPU Cache损坏或其它故障

  • CPU可能的缺陷

    如CPU生产制造过程中带来的缺陷

  • 内存坏/接触不良
  • BIOS配置不当
  • OS/MCE中断程序Bug
  • 环境因素,如温度/湿度

MCE错误码解析

以上面MCE错误为例,Machine Check Exception和Bank 0(5)的值分别对应IA32_MCG_STATUS MSR、IA32_MCi_STATUS寄存器。

则对应的寄存器值为:

IA32_MCG_STATUS MSR寄存器的值为0000000000000004

IA32_MC0_STATUS MSR的值为f200000410000800

IA32_MC5_STATUS MSR的值为f200001044100e0f

根据MSR的值,对照Intel编程手册和Intel其他资料,就可以比较容易找出MCE原因。

dmesg显示

1
2
3
4
5
6
7
8
...

sbridge: HANDLING MCE MEMORY ERROR
CPU 0: Machine Check Exception: 0 Bank 5: 8c00004000010093
TSC 0 ADDR 67081b300 MISC 2140040486 PROCESSOR 0:206d7 TIME 1441181676 SOCKET 0 APIC 0
EDAC MC0: CE row 2, channel 0, label "CPU_SrcID#0_Channel#3_DIMM#0": 1 Unknown error(s): memory read on FATAL area : cpu=0 Err=0001:0093 (ch=3), addr= 0x67081b300 => socket=0, Channel=3(mask=8), rank=0

...

保存4行log为mlog

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# mcelog --ascii < /tmp/mlog
WARNING: with --dmi mcelog --ascii must run on the same machine with the
	 same BIOS/memory configuration as where the machine check occurred.
sbridge: HANDLING MCE MEMORY ERROR
CPU 0: Machine Check Exception: 0 Bank 5: 8c00004000010093
HARDWARE ERROR. This is *NOT* a software problem!
Please contact your hardware vendor
Wed Sep  2 16:14:36 2015
CPU 0 BANK 5 MISC 2140040486 ADDR 67081b300
STATUS 8c00004000010093 MCGSTATUS 0
CPUID Vendor Intel Family 6 Model 45
WARNING: SMBIOS data is often unreliable. Take with a grain of salt!
<24> DIMM 1333 Mhz Res13 Width 72 Data Width 64 Size 16 GB
Device Locator: Node0_Channel2_Dimm0
Bank Locator: Node0_Bank0
Manufacturer: Hynix Semiconducto
Serial Number: 40743B5A
Asset Tag: Dimm2_AssetTag
Part Number: HMT42GR7BFR4A-PB
TSC 0 ADDR 67081b300 MISC 2140040486 PROCESSOR 0:206d7 TIME 1441181676 SOCKET 0 APIC 0
EDAC MC0: CE row 2, channel 0, label "CPU_SrcID#0_Channel#3_DIMM#0": 1 Unknown error(s): memory read on FATAL area : cpu=0 Err=0001:0093 (ch=3), addr = 0x67081b300 => socket=0, Channel=3(mask=8), rank=0

根据
Part Number: HMT42GR7BFR4A-PB
Serial Number: 40743B5A

在lshw中找相应硬件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
...

	 *-memory:0
	      description: System Memory
	      physical id: 2d
	      slot: System board or motherboard
	    *-bank:0
	         description: DIMM 1333 MHz (0.8 ns)
	         product: HMT42GR7BFR4A-PB
	         vendor: Hynix Semiconducto
	         physical id: 0
	         serial: 905D21AE
	         slot: Node0_Channel1_Dimm0
	         size: 16GiB
	         width: 64 bits
	         clock: 1333MHz (0.8ns)
	    *-bank:1
	         description: DIMM Synchronous [empty]
	         product: A1_Dimm1_PartNumber
	         vendor: Dimm1_Manufacturer
	         physical id: 1
	         serial: Dimm1_SerNum
	         slot: Node0_Channel1_Dimm1
	         width: 64 bits
	    *-bank:2
	         description: DIMM 1333 MHz (0.8 ns)
	         product: HMT42GR7BFR4A-PB
	         vendor: Hynix Semiconducto
	         physical id: 2
	         serial: 40743B5A
	         slot: Node0_Channel2_Dimm0
	         size: 16GiB
	         width: 64 bits
	         clock: 1333MHz (0.8ns)

		...

原文地址:https://www.cnblogs.com/DataArt/p/10374028.html

时间: 2024-12-22 12:47:32

x86服务器MCE(Machine Check Exception)问题的相关文章

大型机、小型机、x86服务器的区别

原文:http://servers.pconline.com.cn/gc/1202/2679853_1.html 大型机.小型机.x86服务器的区别 首先来讲x86服务器,与平常人们所接触的台式机笔记本类似,采用CISC架构处理器.随着英特尔至强处理器的性能不断提升,业内有种说法是x86服务器有抢占小型机市场的趋势. x86服务器 Intel推出至强7500系列处理器(例如Nehalem-EX),将至强平台的可靠性.可用性和可维护性(RAS)带到新的高度,此外将原本只为RISC架构专属的诸如机器

关于2016 x86服务器虚拟化中对于桌面虚拟化部分的个人理解

2016版 x86服务器虚拟化的Gartner报告已经出来一段时间了,作为一个主要做虚拟桌面的从业者本来感觉这个报告与我没太大关系,看着熟识的XenServer在三四象限来回游荡,也只能是干着急没办法.仅此而已. 不过最近有些朋友拿着一份公众号文章问我说,咋Citrix桌面虚拟化都掉到第四位了?其实吧这种文章,我个人观点看看就好,也不想多评价,今天又被人问起,就写点东西算是从个人角度分析一下这部分内容,作为闲来之时的聊资. 本人没能力把整个x86虚拟化都分析,就只能聊聊其中一个子主题,Produ

x86服务器中网络性能分析与调优 转

x86服务器中网络性能分析与调优 2017-04-05 巨枫 英特尔精英汇 [OpenStack 易经]是 EasyStack 官微在2017年新推出的技术品牌,将原创技术干货分享给您,本期我们讨论 [x86服务器中网络性能分析与调优] 那些事! >> 网络性能理论极限 网络数据包处理的性能指标,一般包括吞吐.延时.丢包率.抖动等. 数据包有大有小,数据包的大小对这些性能指标有很大的影响. 一般认为服务器处理能力很强,不是数据包处理的瓶颈,而通过物理线路能够传送数据包的最大速率,即线速(Wir

DELL、HP、IBM X86服务器命名规则

DELL.HP.IBM X86服务器命名规则 各大服务器厂家对于自己的服务器命名都有一定的规则,通常会根据服务器的外观(如塔式.机架式.刀片等).处理器(如Intel或者AMD等).架构等信息来命名.本文主要介绍DELL.HP.IBM X86服务器的命名规则. DELL服务器主要为X86架构服务器,包括机架式.塔式和刀片式服务器,对于DELL服务器第9代以前和第10代之后的服务器命名规则不同.现以DELL R720来说明DELL X86服务器的命名规则, R代表机架式,T为塔式,M为刀片式, 第

X86服务器虚拟化的资源划分和性能优化

概述:虚拟化是一个广义术语,通常是指计算元件在虚拟的基础上而不是真实的基础上运行,是一个为了简化管理,优化资源的解决方案.服务器虚拟化则是一项用以整合基于x86服务器,来提高资源利用效率和性能的技术.本文从企业业务系统和管理角度出发,着重分析研究了X86技术架构下,虚拟网卡与SR-IOV.NUMA.虚拟磁盘格式相应的特点,并探索了不同应用场景下的资源划分和性能优化方案,希望能够通过多应用系统下的实践和最优配置,来提高X86服务器的性能和资源利用效率.1 x86虚拟化两种常见的架构对于x86虚拟化

关于16路及以上的X86服务器架构

关于16路及以上的X86服务器架构 INTELX86架构的CPU,很少有16路以上的.HP之前有基于安腾(非X86架构) CPU的32路服务器,但是安腾架构的软件后来HP自己也不支持了.接着 华为.浪潮也在国家项目里 搞了 基于安腾的32路 服务器.由于INTEL ,HP 都放弃对安腾的支持,所以这国家项目也仅仅是技术的一些积累,很难在生态圈有很好的成长. 如今不一样了,随着至强CPU(X86)性能不断提升,HP凭借自身在芯片互联方面的技术能将原本只能组成2路的CPU变成16路或以上的,而且扩展

x86服务器与arm服务器

服务器是提供计算服务的设备,服务器的构成包括处理器.硬盘.内存.系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力.稳定性.可靠性.安全性.可扩展性.可管理性等方面要求较高.在网络环境下,根据服务器提供的服务类型不同,分为文件服务器.数据库服务器.应用程序服务器.WEB服务器等. x86服务器又称CISC(复杂指令集)架构服务器,即通常所讲的PC服务器,它是基于PC机体系结构,使用Intel或其它兼容x86指令集的处理器芯片和Windows操作系统的服务器,基于In

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

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

Linux下使用dmidecode查看服务器的详细的硬件配置

dmidecode可以查看服务器硬件的详细配置,下面是DMI的类型: 语法格式: DB01:~ # dmidecode --help Usage: dmidecode [OPTIONS] Options are:  -d, --dev-mem FILE     Read memory from device FILE (default: /dev/mem)  -h, --help             Display this help text and exit  -q, --quiet