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 |
|
保存4行log为mlog
1 |
|
根据
Part Number: HMT42GR7BFR4A-PB
Serial Number: 40743B5A
在lshw中找相应硬件
1 |
|
最新文章
- java导入excel时遇到的版本问题
- 程序员下一门要学的编程语言Swift
- 烂泥:rsync配置文件详解
- non
- hdu3966 树链剖分+成段更新
- Strust的基础情况
- 20160805_CentOS6_控制台切换
- JavaScript创建表格的两种方式
- nginx上传文件
- Linux mail 命令使用
- python challenge 16
- 【转】Java基础笔记 – 枚举类型的使用介绍和静态导入--不错
- html学习笔记一
- Delphi图像处理 -- 最大值
- touchmover手机移动端的拖动
- Android’s HTTP Clients (httpClient 和 httpURLConnect 区别)
- iOS深浅拷贝
- Nginx 流量和连接数限制
- K近邻(K Nearest Neighbor-KNN)原理讲解及实现
- Notification 通知传值
热门文章
- ES6躬行记(1)——let和const
- 在.net core 中PetaPoco结合EntityFrameworkCore使用codefirst方法进行开发
- 【Javascript系列】变量作用域
- Dubbo 入门之二 ——- 项目结构解析
- 工作中常用Windows快捷键整理(1)-快速关闭网页
- 将ASP.NET网站部署到服务器IIS上
- EF C# ToPagedList方法 The method &#39;Skip&#39; is only supported for sorted input in LINQ to Entities. The method &#39;OrderBy&#39; must ……
- Nmap 命令操作详解
- 【原创】MVC+ZTree实现权限树的功能
- [Linux] Nginx响应压缩gzip