线上服务mcelog负载异常分析处理流程

一、问题概述:

Nginx服务器,HP,有冗余,其中一台服务器mcelog负载比较高,日志秒级别,已经影响了此服务器业务。

线上服务mcelog负载异常分析处理流程

tail -f /var/log/mcelog

#注意看此信息是不断循环,注意看

Transaction:Memory scrubbing error
MemCtrl:Corrected patrol scrub error
 Erroroverflow
Corrected  error

#注意看其它信息

cpu16 BANK 9
MCE11

337335    MCi_MISCregister valid
337336    MCi_ADDRregister valid
337337    MCA:MEMORY CONTROLLER MS_CHANNEL1_ERR
337338    Transaction:Memory scrubbing error
337339    MemCtrl:Corrected patrol scrub error
337340   
337341    STATUScc0048c0000800c1 MCGSTATUS 0
337342    MCGCAP1000812 APICID 8 SOCKETID 0
337343    cpuIDvendor Intel Family 6 Model 45
337344    Hardwareevent. This is not a software error.
337345    MCE10
337346    cpu16 BANK 9
337347    MISC90011000010008c ADDR 15e0e2000
337348    TIME1495308194 Sun May 21 03:23:14 2017
337349    MCGstatus:
337350    MCistatus:
337351    Erroroverflow
337352    Correctederror
 
337353    MCi_MISCregister valid
337354    MCi_ADDRregister valid
337355    MCA:MEMORY CONTROLLER MS_CHANNEL1_ERR
337356    Transaction:Memory scrubbing error
337357    MemCtrl:Corrected patrol scrub error
337358   
337359    STATUScc0003c0000800c1 MCGSTATUS 0
337360    MCGCAP1000812 APICID 9 SOCKETID 0
337361    cpuIDvendor Intel Family 6 Model 45
337362    Hardwareevent. This is not a software error.
337363    MCE11
337364    cpu17 BANK 9
337365    MISC90011000010008c ADDR 15e0f8000
337366    TIME1495308194 Sun May 21 03:23:14 2017
337367    MCGstatus:
337368    MCistatus:
337369    Erroroverflow
337370    Correctederror

tail -f /var/log/messages

线上服务mcelog负载异常分析处理流程


二、mcelog简单说明

2.1)mcelog此服务是什么?

检查硬件错误,特别是内存和cpu错误的工具

2.2)mcelog工作模式?

cron  trigger (效率高低问题)

daemon (centos目前形式) 认日志打到/var/log/mcelog

2.3)mcelog安装

yum install mcelog or 编译即可。


三、问题分析:

3.1)error信息:

Transaction:Memory scrubbing error
MemCtrl:Corrected patrol scrub error
Erroroverflow
Corrected  error

注意,通过上面的报错信息可以判断内存可能出了问题,因为mcelog日志报错,则很可能是硬件信息故障。

3.2)其它信息

MCE(Machine Check Exception)是一类计算机硬件错误。可能原因有:

内存报错,内存缓存故障,cpu故障,也可能和主板,总线有关系。


cpu16 BANK 9

cpu 17 BANK 9  ...

bank定义:

传统内存系统为了保证cpu的正常工作,必须一次传输完cpu一个传输周期内所需要的数据。而cpu一个传输周期能接收的数据容量就是cpu数据总线的位宽,单位是bit(位)。内存与cpu间的数据交换通过主板上的北桥芯片进行,内存总线的数据位宽等同于cpu数据总线的位宽,这个位宽就称之为物理Bank。
bank:一直想通过bank和上面日志,排查可能哪个插槽有问题。这里希望大家给予提示

3.3)查看服务器各指示灯:

正常。(这里很意外,不过如果问题刚产生不久,指示灯也不会立马出问题)

3.4)咨询朋友

建议:一般硬件出了问题,建议换内存,备份数据等。


四、处理顺序(renzhiyuan.blog.51cto.com)

4.1)先平滑迁移业务保障业务正常运行。

4.2)备份数据,并确保数据的可用性。

4.3)切勿重启,先尝试清楚内存缓存,inode,目录。排除缓存问题。

4.4)如果负载很高,可考虑关闭mcelog服务。

4.5)hp服务器有硬件分析功能,可先排查。

4.6)准备相同规格内存条,尝试更换内存条(最好不要动每个内存原本的位置,一般内存不是很多,可尝      试,要是能判断哪个插槽出问题,可先替换)

4.7)如果更换内存条无效,则可能其它硬件问题,考虑维修处理。

4.8)以上所有进度和结果,做备案,并及时和领导反映。

相关文章

今天小编给大家分享一下excel图案样式如何设置的相关知识点,...
这篇文章主要讲解了“win10设置过的壁纸如何删除”,文中的讲...
这篇“Xmanager怎么显示远程linux程序的图像”文章的知识点大...
今天小编给大家分享一下xmanager怎么连接linux的相关知识点,...
这篇“如何重置Linux云服务器的远程密码”文章的知识点大部分...
本篇内容介绍了“Linux云服务器手动配置DNS的方法是什么”的...