1. 程式人生 > >線上服務mcelog負載異常分析處理流程

線上服務mcelog負載異常分析處理流程

線上服務mcelog負載異常分析處理流程

一、問題概述:

Nginx服務器,HP,有冗余,其中一臺服務器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簡單說明

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)以上所有進度和結果,做備案,並及時和領導反映。


本文出自 “永不放棄!任誌遠” 博客,請務必保留此出處http://renzhiyuan.blog.51cto.com/10433137/1933172

線上服務mcelog負載異常分析處理流程