我如何才能找到哪个内存出现 CE 错误?

我如何才能找到哪个内存出现 CE 错误?

/var/log/kern.log

kernel: [13291329.657499] EDAC MC0: 48 CE error on CPU#0Channel#2_DIMM#0 (channel:2 slot:0 page:0x0 offset:0x0 grain:8 syndrome:0x0)

这是edac日志,其中一个内存有ce错误。

我读过了edac 文档

Dual channels allows for 128 bit data transfers to the CPU from memory.
Some newer chipsets allow for more than 2 channels, like Fully Buffered DIMMs
(FB-DIMMs). The following example will assume 2 channels:


            Channel 0   Channel 1
    ===================================
    csrow0  | DIMM_A0   | DIMM_B0 |
    csrow1  | DIMM_A0   | DIMM_B0 |
    ===================================

    ===================================
    csrow2  | DIMM_A1   | DIMM_B1 |
    csrow3  | DIMM_A1   | DIMM_B1 |
    ===================================

并找到错误通道:

$ grep "[0-9]" /sys/devices/system/edac/mc/mc*/csrow*/ch*_ce_count
/sys/devices/system/edac/mc/mc0/csrow0/ch0_ce_count:0
/sys/devices/system/edac/mc/mc0/csrow0/ch1_ce_count:0
/sys/devices/system/edac/mc/mc0/csrow0/ch2_ce_count:144648966
/sys/devices/system/edac/mc/mc0/csrow1/ch0_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/csrow1/ch0_ce_count:0
/sys/devices/system/edac/mc/mc1/csrow1/ch1_ce_count:0

并且它应该是mc0/csrow0/ch2,正如文档所述,DIMM 应该是DIMM_C0,并且可以通过以下方式找到 dmidecode

但是我找不到这个DIMM,所以我不知道哪个内存有问题:

$ dmidecode -t memory | grep 'Locator: PROC'
        Locator: PROC 1 DIMM 2A
        Locator: PROC 1 DIMM 1D
        Locator: PROC 1 DIMM 4B
        Locator: PROC 1 DIMM 3E
        Locator: PROC 1 DIMM 6C
        Locator: PROC 1 DIMM 5F
        Locator: PROC 2 DIMM 2A
        Locator: PROC 2 DIMM 1D
        Locator: PROC 2 DIMM 4B
        Locator: PROC 2 DIMM 3E
        Locator: PROC 2 DIMM 6C
        Locator: PROC 2 DIMM 5F

共有12个插槽,其中9个插槽有内存。

那么我怎么知道哪个内存有问题?


补充:

System Information
        Manufacturer: HP
        Product Name: ProLiant DL180 G6

答案1

您的问题 DIMM 可能是 -Locator: PROC 1 DIMM 5F

CPU#0通道#2_DIMM#0方法:

PROC 1, 
1D,2A = Channel 0  
3E,4B = Channel 1
5F,6C = Channel 2

5F = DIMM 0
6C = DIMM 1

编辑:

当提问时,信息越多越好...有了服务器制造商和型号可以简化这一过程:

这是HP ProLiant DL180 G6 规格简介

在此处输入图片描述

我的建议是 CPU 插槽 #1 中的 DIMM 是正确的...但这是 HP 硬件。您不需要猜测!!

您应该使用 HP 的管理代理,因为它们可以发出警报并提供有关硬件健康和状态的平台特定详细信息......

[root@veloce ~]# hpasmcli
HP management CLI for Linux (v2.0)
Copyright 2008 Hewlett-Packard Development Group, L.P.

--------------------------------------------------------------------------
This server ProLiant DL180 G6  , is a Proliant 100 Series Server.
NOTE: Some hpasmcli commands may not be supported on 100 series servers.
      Type 'help' to get a list of all top level commands.
--------------------------------------------------------------------------
hpasmcli> show dimm
Cartridge #:    0
Processor #:    1
Module #:       2
Present:        Yes
Form Factor:    fh
Memory Type:    5h
Size:           4096 MB
Speed:          1333 MHz
Status:         N/A

Cartridge #:    0
Processor #:    1
Module #:       1
Present:        Yes
Form Factor:    fh
Memory Type:    5h
Size:           4096 MB
Speed:          1333 MHz
Status:         N/A

Cartridge #:    0
Processor #:    1
Module #:       4
Present:        Yes
Form Factor:    fh
Memory Type:    5h
Size:           4096 MB
Speed:          1333 MHz
Status:         N/A

Cartridge #:    0
Processor #:    1
Module #:       6
Present:        Yes
Form Factor:    fh
Memory Type:    5h
Size:           4096 MB
Speed:          1333 MHz
Status:         N/A

答案2

我只想补充一点,主板布局(来自不同的供应商)可能有所不同,如果不检查每个组合,就不可能可靠地映射插槽和 csrow + 通道 + 等级值。

例如,配备 AMD ryzen 和双列内存条的华硕 B450 主板:

dmidecode: DIMM A1 (first slot from cpu side)
edac: csrow 0 channel 1 rank 1
edac: csrow 1 channel 1 rank 3
dmidecode: DIMM A2 (second slot from cpu side)
edac: csrow 2 channel 1 rank 5
edac: csrow 3 channel 1 rank 7
dmidecode: DIMM A1 + DIMM B1 (first and third slot from cpu side)
edac: csrow 0 channel 0 rank 0
edac: csrow 0 channel 1 rank 1
edac: csrow 1 channel 0 rank 2
edac: csrow 1 channel 1 rank 3
dmidecode: DIMM A2 + DIMM B2 (second and fourth slot from cpu side)
edac: csrow 2 channel 0 rank 4
edac: csrow 2 channel 1 rank 5
edac: csrow 3 channel 0 rank 6
edac: csrow 3 channel 1 rank 7
dmidecode: DIMM A1 + DIMM A2 + DIMM B1 + DIMM B2 (all)
edac: csrow 0 channel 0 rank 0
edac: csrow 0 channel 1 rank 1
edac: csrow 1 channel 0 rank 2
edac: csrow 1 channel 1 rank 3
edac: csrow 2 channel 0 rank 4
edac: csrow 2 channel 1 rank 5
edac: csrow 3 channel 0 rank 6
edac: csrow 3 channel 1 rank 7

因此我们可以提供以下映射:

csrow 0 channel 0 rank 0: DIMM B1
csrow 0 channel 1 rank 1: DIMM A1
csrow 1 channel 0 rank 2: DIMM B1
csrow 1 channel 1 rank 3: DIMM A1
csrow 2 channel 0 rank 4: DIMM B2
csrow 2 channel 1 rank 5: DIMM A2
csrow 3 channel 0 rank 6: DIMM B2
csrow 3 channel 1 rank 7: DIMM A2

如果您使用带有特殊 CLI 工具的 HP 服务器,那么它可能有助于您确定内存映射。否则,您必须检查每个组合。

相关内容