RAM ECC가 작동하는지 어떻게 알 수 있나요?

RAM ECC가 작동하는지 어떻게 알 수 있나요?

현재 Asus M5A97 Pro 마더보드(AMD 970 칩셋, FX-6100 CPU)에 설치되어 있는 비ECC RAM을 교체하기 위해 일부 ECC RAM을 구입할 계획입니다.

램을 설치한 후,RAM의 ECC 기능이 제대로 작동하는지 어떻게 알 수 있나요?

dmidecode --type memory각 RAM 스틱이 현재 인쇄하는 내용을 고려했습니다 .

Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits

(먼저 바이트당 1비트의 ECC를 사용하고 싶습니다. 데이터 너비에는 여전히 64비트이지만 읽기에는 총 너비가 72비트입니다.)

ECC가 유효한지 여부를 결정하는 데 사용할 수 있습니까? 아니면 dmidecode 수준이 너무 낮은가요? 그 밖에 무엇을 사용할 수 있습니까(기다리고 로그에 ECC 오류가 나타나는지 확인하는 것 외에는 작동 중임을 나타내지만 작동하지 않는다는 의미는 아닙니다)?

고쳐 쓰다:그런 다음 edac-utils에 대해 생각했습니다. 그것들을 설치하면 얻을 수 있습니다 Not enabling Memory Error Detection and Correction since EDAC_DRIVER is not set. 그러면 edac-util실행 파일이 제공됩니다 edac-ctl. 그 중 하나를 이 목적으로 사용할 수 있습니까?

답변1

것 같다당신에게 말할 확실한 방법은 없습니다, 그러나 여러 가지 방법으로 일종의 답변을 제공할 수 있습니다. 분명히 ECC가 작동하고 있다는 것을 알려주는 방법을 찾을 때까지 다양한 방법을 시도해야 합니다.

나로서는메모리 테스트 86+ 4.20ECC On으로 구성하더라도 ECC RAM을 처리하고 있다는 사실을 인식할 수 없습니다. 여전히 ECC: DisabledIMC 라인에 보고됩니다. 아직 새 버전을 사용해 보지 않았습니다. 그러나 (아마도 edac-utils를 설치한 후 불행히도 기본적으로 두 가지를 동시에 수행했습니다) Linux는 부팅 로그에 다음과 같이 보고합니다(몇 가지 다른 항목과 함께 흩어져 있음).

[    4.867198] EDAC MC: Ver: 2.1.0
...
[    4.874374] MCE: In-kernel MCE decoding enabled.
[    4.875414] AMD64 EDAC driver v3.4.0
[    4.875438] EDAC amd64: DRAM ECC enabled.
...
[    4.875542] EDAC amd64: CS0: Unbuffered DDR3 RAM
[    4.875545] EDAC amd64: CS1: Unbuffered DDR3 RAM
[    4.875546] EDAC amd64: CS2: Unbuffered DDR3 RAM
[    4.875548] EDAC amd64: CS3: Unbuffered DDR3 RAM

이것은 아주 좋은 징조입니다. 수동으로 수행하면 /etc/init.d/edac restart유사한 로그 항목이 생성되지 않으며 몇 번의 재부팅 전 이전 로그를 살펴보면 다음과 같습니다.

[   13.886688] EDAC MC: Ver: 2.1.0
[   13.890389] MCE: In-kernel MCE decoding enabled.
[   13.891082] AMD64 EDAC driver v3.4.0
[   13.891107] EDAC amd64: DRAM ECC disabled.
[   13.891116] EDAC amd64: ECC disabled in the BIOS or no ECC capability, module will not load.
[   13.891117]  Either enable ECC checking or force module loading by setting 'ecc_enable_override'.
[   13.891118]  (Note that use of the override may cause unknown side effects.)

dmidecode --type memory두 가지 매우 강력한 표시도 제공됩니다: 물리적 메모리 배열의 "오류 수정 유형" 속성(그러나 어떤 이유로비 ECC RAM에서도 동일하게 표시됩니다., 따라서 이는 메모리 기능보다는 마더보드 지원과 관련이 있을 수 있습니다.

Handle 0x0026, DMI type 16, 23 bytes
Physical Memory Array
    Location: System Board Or Motherboard
    Use: System Memory
    Error Correction Type: Multi-bit ECC

각 저장 장치의 총 너비와 데이터 너비입니다(추가 비트는 ECC용입니다).

Handle 0x0028, DMI type 17, 34 bytes
Memory Device
    Array Handle: 0x0026
    Error Information Handle: Not Provided
    Total Width: 72 bits
    Data Width: 64 bits

답변2

서버/PC에 대한 콘솔 액세스 권한이 있고 재부팅할 수 있는 경우 매우 간단하고 효과적인 방법이 있습니다.기억력 테스트 86+

이 멋진 도구는 메모리에 ECC가 활성화되어 있는지 빠르게 보여줍니다. 또한 실제 테스트를 할 때 ECC 검증도 수행한다고 생각합니다.

다음은 (약간 오래된) 스크린샷입니다. 여기에 이미지 설명을 입력하세요.

답변3

실제 하드웨어에 대한 경험을 요약해 보겠습니다. M5A 마더보드는 없지만 AMD 칩셋을 탑재한 M4A 마더보드가 2개 있습니다.

오전 3시

지금 몇 시지:

  • M4A8xx 마더보드는 공식적으로 ECC를 지원합니다.
  • AMD Phenom II 및 Athlon II는 ECC를 지원합니다. (다른 사람들은 작동할 수도 있음)
  • AMD Phenom 칩은 "edac_mce_amd" 모듈을 통해 오류 보고를 지원합니다. 이 모듈은 ECC 없이 작동하며 캐시 또는 기타 CPU 관련 오류를 보고합니다.
  • RAM ECC는 "amd64_edac"을 통해 지원됩니다.

나는 이 시점에서 2년 넘게 ECC RAM을 갖춘 M4A 보드를 사용해 왔지만 어떤 버그 보고서도 본 적이 없습니다. 일부 마더보드는 수정 가능한 오류(CE)를 보고하지 않는 것 같습니다. ECC 없이 불안정한 타이밍을 설정한 후 활성화하여 제대로 작동하는지 확인하는 것이 좋습니다. Memtest86을 사용할 수 있지만 해당 소프트웨어는 ECC 이벤트를 보고하지 않으며 ECC가 활성화된 상태에서 RAM이 이제 안정적이라는 것만 표시합니다. "mce" 부팅 매개변수에 전달된 커널 매개변수에 관계없이 커널 자체는 세부 정보 없이 메시지만 표시합니다.

[Hardware error] Machine Check Exception

이는 /sys의 "edac" 항목에도 기록되지 않습니다. 테스트를 통해 판단하면 이러한 오류는 수정될 것이지만 수정 불가능한 오류는 어떻게 처리될지 모르겠습니다.

또한 이러한 Asus 마더보드는 CPU 버그와 관련된 오류를 보고하지 않는 것 같습니다. 저는 깨진 ASRock 마더보드가 작동 중지되기 시작했지만 UE로 인해 이를 OS에 보고했을 때 처음으로 이 기능을 알게 되었습니다. 호환 보드에서 이 정보는 다음 형식으로 커널 메시지에 표시됩니다.

[Hardware error] Machine Check Excpetion logged
[Hardware error] ERROR DETAILS, ETC, ETC

이는 MCE 로그에 기록되지 않지만 커널에 의해 독점적으로 처리됩니다. (edac_mce_amd 모듈) 이는 버퍼에 있거나 메모리를 손상시키는 프로세스 종료와 같은 다른 옵션을 사용하는 경우 수정되지 않은 오류를 삭제할 수 있기 때문에 유용합니다.

이러한 Asus 마더보드에서는 CPU 오류 보고작동하지 않습니다. PSU나 마더보드 VRM이 손상되어 오류가 발생하기 시작하면 일부 데이터가 손상될 수 있기 때문에 이는 매우 좋지 않습니다. 정기적으로 CPU 안정성을 테스트하지 않으면 사용하지 않을 것입니다.

오전 4시

ASUS AM4 마더보드에서 이전 버전은 AM3처럼 작동했지만 메모리 오류 보고는 제대로 작동했습니다. /sys를 읽고 오류 수를 얻거나 커널 로그를 볼 수 있습니다. 현재 BIOS에서는 RAS 데몬을 설치하고 "ras-mc-ctl" 명령을 사용하여 오류 수를 읽어야 합니다.

이러한 플랫폼에서는 CPU 오류 보고 및 처리를 테스트하지 않았습니다.

관련 정보