如何查找哪个内存出现 CE 错误?

如何查找哪个内存出现 CE 错误?

我认为我的服务器中有一个内存出现错误,我想知道如何找到它是哪一个。

服务器型号:Supermicro 6072R-EN3RFT

内存:128 GB

安装了最新更新的 CentOS 7

mcelog 内容如下:

:[  883.230897] EDAC sbridge MC0: HANDLING MCE MEMORY ERROR
:[  883.230904] EDAC sbridge MC0: CPU 0: Machine Check Event: 0 Bank 10: cc0001c7000800c1
:[  883.230906] EDAC sbridge MC0: TSC 0 
:[  883.230908] EDAC sbridge MC0: ADDR b71b18000 
:[  883.230909] EDAC sbridge MC0: MISC 908401000200e8c 
:[  883.504829] EDAC sbridge MC0: PROCESSOR 0:306e4 TIME 1469612575 SOCKET 0 APIC 0
:[  883.504841] mce: [Hardware Error]: Machine check events logged
:[  883.606151] EDAC MC0: 7 CE memory scrubbing error on CPU_SrcID#0_Ha#0_Chan#0_DIMM#0 (channel:0 slot:0 page:0xb71b18 offset:0x0 grain:32 syndrome:0x0 -  OVERFLOW area:DRAM err_code:0008:00c1 socket:0 ha:0 channel_mask:1 rank:1)
:[  899.306134] EDAC sbridge MC0: HANDLING MCE MEMORY ERROR
:[  899.306143] EDAC sbridge MC0: CPU 0: Machine Check Event: 0 Bank 10: cc000207000800c1
:[  899.306145] EDAC sbridge MC0: TSC 0 
:[  899.306148] EDAC sbridge MC0: ADDR c71b19000 
:[  899.306150] EDAC sbridge MC0: MISC 908410000200e8c 
:[  899.306153] EDAC sbridge MC0: PROCESSOR 0:306e4 TIME 1469612590 SOCKET 0 APIC 0
:[  899.306172] mce: [Hardware Error]: Machine check events logged
:[  899.644814] EDAC MC0: 8 CE memory scrubbing error on CPU_SrcID#0_Ha#0_Chan#0_DIMM#0 (channel:0 slot:0 page:0xc71b19 offset:0x0 grain:32 syndrome:0x0 -  OVERFLOW area:DRAM err_code:0008:00c1 socket:0 ha:0 channel_mask:1 rank:1)
:[  901.190512] {1}[Hardware Error]: Hardware error from APEI Generic Hardware Error Source: 1
:[  901.190528] {1}[Hardware Error]: It has been corrected by h/w and requires no further action
:[  901.190533] {1}[Hardware Error]: event severity: corrected
:[  901.190538] {1}[Hardware Error]:  Error 0, type: corrected
:[  901.190541] {1}[Hardware Error]:  fru_text: CorrectedErr
:[  901.190546] {1}[Hardware Error]:   section_type: memory error
:[  901.190549] [Firmware Warn]: error section length is too small
:[ 4916.540282] EDAC sbridge MC0: HANDLING MCE MEMORY ERROR
:[ 4916.540290] EDAC sbridge MC0: CPU 0: Machine Check Event: 0 Bank 10: cc000287000800c1
:[ 4916.540292] EDAC sbridge MC0: TSC 0 
:[ 4916.540294] EDAC sbridge MC0: ADDR b743ff000 
:[ 4916.540296] EDAC sbridge MC0: MISC 908400800240e8c 
:[ 4916.540298] EDAC sbridge MC0: PROCESSOR 0:306e4 TIME 1469616606 SOCKET 0 APIC 0
:[ 4916.540313] mce: [Hardware Error]: Machine check events logged
:[ 4916.540340] EDAC MC0: 10 CE memory scrubbing error on CPU_SrcID#0_Ha#0_Chan#0_DIMM#0 (channel:0 slot:0 page:0xb743ff offset:0x0 grain:32 syndrome:0x0 -  OVERFLOW area:DRAM err_code:0008:00c1 socket:0 ha:0 channel_mask:1 rank:1)

我尝试了以下操作:

grep "[0-9]" /sys/devices/system/edac/mc/mc*/csrow*/ch*_ce_count
/sys/devices/system/edac/mc/mc0/csrow0/ch0_ce_count:669
/sys/devices/system/edac/mc/mc0/csrow0/ch1_ce_count:0
/sys/devices/system/edac/mc/mc0/csrow0/ch2_ce_count:0
/sys/devices/system/edac/mc/mc0/csrow0/ch3_ce_count:0
/sys/devices/system/edac/mc/mc1/csrow0/ch0_ce_count:0
/sys/devices/system/edac/mc/mc1/csrow0/ch1_ce_count:0
/sys/devices/system/edac/mc/mc1/csrow0/ch2_ce_count:0
/sys/devices/system/edac/mc/mc1/csrow0/ch3_ce_count:0

这是否意味着我有 8 个插槽,每个插槽有 16 GB,而第一个插槽包含有错误的内存?

你知道哪一个内存模块有错误吗?我不是系统管理员,所以我真的不知道该怎么做……

亲切的问候

答案1

我认为您的 DIMM 插槽可能标有BANK A DIMM 0BANK A DIMM 1等,最多BANK B DIMM 3。您可以假设这BANK A DIMM 0是问题所在,然后尝试将其与其他 7 个插槽中的一个交换(假设它们都相同),然后重复测试,直到再次生成错误。如果不同的/sys/devices/system/edac/mc/mc?/csrow0/ch?_ce_count计数器增加,那么您可以相当肯定您已经找到了问题 DIMM。

答案2

这就是您为查找并查明问题所做的事情。

实用程序名称:edac-utils

就我而言,我在 CentOS7 上安装,您可以找到适用于其他版本和版本的实用程序。

yum install edac-utils

干得好。

[root@centos7 ~]# edac-util -v
mc0: 0 Uncorrected Errors with no DIMM info
mc0: 0 Corrected Errors with no DIMM info
mc0: csrow0: 0 Uncorrected Errors
mc0: csrow0: CPU_SrcID#0_Ha#0_Chan#1_DIMM#0: 2187 Corrected Errors
mc0: csrow0: CPU_SrcID#0_Ha#0_Chan#2_DIMM#0: 0 Corrected Errors
mc0: csrow1: 0 Uncorrected Errors
mc0: csrow1: CPU_SrcID#0_Ha#0_Chan#1_DIMM#1: 24464678 Corrected Errors
mc0: csrow1: CPU_SrcID#0_Ha#0_Chan#2_DIMM#1: 3874265 Corrected Errors
mc1: 0 Uncorrected Errors with no DIMM info
mc1: 0 Corrected Errors with no DIMM info
mc1: csrow0: 0 Uncorrected Errors
mc1: csrow0: CPU_SrcID#1_Ha#0_Chan#1_DIMM#0: 0 Corrected Errors
mc1: csrow0: CPU_SrcID#1_Ha#0_Chan#2_DIMM#0: 0 Corrected Errors
mc1: csrow1: 0 Uncorrected Errors
mc1: csrow1: CPU_SrcID#1_Ha#0_Chan#1_DIMM#1: 0 Corrected Errors
mc1: csrow1: CPU_SrcID#1_Ha#0_Chan#2_DIMM#1: 0 Corrected Errors

上述结果与以下结果相符:

[root@centos7 ~]# grep "[0-9]" /sys/devices/system/edac/mc/mc*/csrow*/ch*_ce_count
/sys/devices/system/edac/mc/mc0/csrow0/ch1_ce_count:2187
/sys/devices/system/edac/mc/mc0/csrow0/ch2_ce_count:0
/sys/devices/system/edac/mc/mc0/csrow1/ch1_ce_count:24464678
/sys/devices/system/edac/mc/mc0/csrow1/ch2_ce_count:3874265
/sys/devices/system/edac/mc/mc1/csrow0/ch1_ce_count:0
/sys/devices/system/edac/mc/mc1/csrow0/ch2_ce_count:0
/sys/devices/system/edac/mc/mc1/csrow1/ch1_ce_count:0
/sys/devices/system/edac/mc/mc1/csrow1/ch2_ce_count:0

相关内容