dmesg ECC 오류 출력에서 ​​물리적 메모리 슬롯 식별

dmesg ECC 오류 출력에서 ​​물리적 메모리 슬롯 식별

768 GiB ECC DDR4 메모리를 갖춘 머신이 있습니다. 모듈 중 하나가 불안정하여 교체해야 합니다. dmesg다음과 같은 항목으로 가득 차 있습니다.

    [Mar25 08:07] mce: [Hardware Error]: Machine check events logged
[  +0.000014] EDAC skx MC1: HANDLING MCE MEMORY ERROR
[  +0.000003] EDAC skx MC1: CPU 0: Machine Check Event: 0x0 Bank 8: 0xdc00008001010092
[  +0.000002] EDAC skx MC1: TSC 0x116da2b2e75b2
[  +0.000001] EDAC skx MC1: ADDR 0x2e9282d900
[  +0.000001] EDAC skx MC1: MISC 0x200801c091001086
[  +0.000004] EDAC skx MC1: PROCESSOR 0:0x50657 TIME 1616659657 SOCKET 0 APIC 0x0
[  +0.000013] EDAC MC1: 2 CE memory read error on CPU_SrcID#0_MC#1_Chan#2_DIMM#0 (channel:2 slot:0 page:0x2e9282d offset:0x900 grain:32 syndrome:0x0 -  OVERFLOW err_code:0x0101:0x0092 socket:0 imc:1 rank:1 bg:2 ba:2 row:0xfc0b col:0x40)

그리고 수정 가능한 복구된 ECC 오류가 있습니다.

$ edac-util --report=simple
mc0: Correctable errors:   0
mc0: Uncorrectable errors: 0
mc1: Correctable errors:   270
mc1: Uncorrectable errors: 0
mc2: Correctable errors:   0
mc2: Uncorrectable errors: 0
mc3: Correctable errors:   0
mc3: Uncorrectable errors: 0
Total CE: 270
Total UE: 0

dmidecode시스템과 메모리에 대한 많은 훌륭한 정보를 보여줬 지만 ,나는 둘 사이의 관계를 이해하지 못한다.(논리)dmesg출력에 표시된 주소 및dmidecode(실제 주소).

특히, 커널이 주소에 문제가 있다고 알려주는 것처럼 보이지만 0x289282d900물리적 주소는 그보다 낮게 제한되므로 이는 논리 주소여야 합니다. 내 시스템의 가장 높은 메모리 매핑 물리적 주소는 다음과 같습니다.

Handle 0x004F, DMI type 19, 31 bytes
Memory Array Mapped Address
        Starting Address: 0x09000000000
        Ending Address: 0x0BFFFFFFFFF
        Range Size: 192 GB
        Physical Array Handle: 0x004E
        Partition Width: 3

다시 한 번 말씀드리지만, channel:2 slot:0교체해야 할 항목의 범위를 좁히는 데 큰 도움이 되었지만 dmidecode목록에는 없습니다.어느채널이 전혀 없지만 전체 출력하다마더보드의 (레이블이 붙은) 슬롯에 해당하는 물리적 주소 범위에 대한 유용한 그림:

$ sudo dmidecode -t memory|grep -i channel
$

다시 말하지만, 오래된 트릭 grep -i 'System RAM' /proc/iomem도 작동하지 않습니다.

00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM

짜증나게도 내 마더보드 설명서에는 실제로 배치 방법( numa실제로 노드!)이 자세히 나와 있지 않습니다.

어떤 물리적 메모리 스틱에 문제가 있는지 원격으로 확인할 수 있나요?

답변1

이 줄만 있으면 됩니다.

[  +0.000013] EDAC MC1: 2 CE memory read error on CPU_SrcID#0_MC#1_Chan#2_DIMM#0 (channel:2 slot:0

이 기사를 읽으려면:

CPU_SrcID#0=(CPU0)MC#1=(Memory Controller 1

게시 한 목록 edac-util은 다음과 같습니다.

0-3)Chan#2_DIMM#0=(Would be C0 DIMM).

메모리 채널은 0(A0/A1), 1(B0/B1), 2(C0/C1) 등에서 시작해야 합니다. DIMM0은 이 채널의 기본 슬롯이 됩니다.

동일한 정보를 찾을 수 있어야 합니다.

edac-util -v

UE/CE를 보고합니다.

답변2

메모리 뱅크 인터리빙 및 매핑으로 인해 특정 작업에 어떤 모듈이 사용되는지 찾기가 어렵습니다.

모듈의 절반을 제거하고 문제가 지속되는지 확인하는 것은 어떻습니까? 범인을 찾을 때까지 계속 둘로 나눕니다. 검색 속도를 높이려면 (== boot into)를 실행하세요.기억력 테스트 86+테스트하는 동안 오류가 나타나도록 강제합니다. 많은 Linux 설치 DVD(예: Ubuntu)에는 쉽게 부팅할 수 있는 memtest86+ 이미지가 있습니다.

관련 정보