Làm thế nào để biết RAM ECC có hoạt động không?


19

Tôi đang lên kế hoạch lấy một số RAM ECC để thay thế RAM không phải ECC mà tôi hiện đã cài đặt trên bo mạch chủ Asus M5A97 Pro (chipset AMD 970, CPU FX-6100).

Sau khi tôi cài đặt RAM, làm cách nào để biết tính năng ECC của RAM có hoạt động tốt không?

Tôi đã nghĩ về dmidecode --type memorynhững gì hiện đang in trong số khác cho mỗi thanh RAM:

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

(Đối với một, tôi mong đợi với 1 bit ECC trên mỗi byte chiều rộng dữ liệu sẽ duy trì 64 bit nhưng tổng chiều rộng để đọc 72 bit.)

Điều đó có thể được sử dụng để xác định xem ECC có hoạt động không? Hoặc là dmidecode quá thấp cho điều đó? Tôi có thể sử dụng cái gì khác (ngoại trừ chờ và xem nếu lỗi ECC xuất hiện trong nhật ký, điều này cho thấy nó hoạt động nhưng không phải là nó không hoạt động)?

Cập nhật: Sau này tôi nghĩ về edac-utils. Cài đặt chúng, tôi nhận được Not enabling Memory Error Detection and Correction since EDAC_DRIVER is not set. Điều đó đã cho tôi edac-utiledac-ctlthực thi. Một trong những người có thể được sử dụng cho mục đích này?


2
ai đó có nhiều thời gian hơn tôi có thể thêm phần về ecc_check.c từ pugetsystems.com/labs/articles/ vào một trong những câu trả lời không?
Costin Gușă

Câu trả lời:


12

Dường như không có cách nào chắc chắn để nói , tuy nhiên các cách tiếp cận khác nhau có thể giúp bạn có một số câu trả lời. Rõ ràng bạn khá nhiều phải thử những cái khác nhau cho đến khi bạn tìm thấy một cái cho bạn biết ECC đang hoạt động.

Trong trường hợp của tôi, memtest86 + 4.20 không thể bị dụ dỗ nhận ra rằng nó đang xử lý RAM ECC; ngay cả khi tôi định cấu hình cho ECC On, nó vẫn được báo cáo ECC: Disabledtrên dòng IMC. Tôi chưa thử với phiên bản mới hơn. Tuy nhiên (có thể sau khi cài đặt edac-utils, không may là tôi đã làm cả hai về cơ bản cùng một lúc), Linux báo cáo trong nhật ký khởi động (xen kẽ với một số mục khác):

[    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

đó là một dấu hiệu khá tốt Làm thủ công /etc/init.d/edac restartkhông tạo ra các mục nhật ký tương tự và nhìn vào nhật ký cũ hơn từ một vài lần khởi động lại trước đây, tôi thấy:

[   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 memorycũng đưa ra hai dấu hiệu khá mạnh: thuộc tính "loại sửa lỗi" của mảng bộ nhớ vật lý (tuy nhiên vì lý do nào đó cho thấy điều tương tự trên RAM không phải ECC , do đó, điều này có thể liên quan đến hỗ trợ của bo mạch chủ thay vì khả năng của bộ nhớ),

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

và tổng chiều rộng và chiều rộng dữ liệu của từng thiết bị bộ nhớ, tương ứng (các bit bổ sung là các bit được sử dụng cho 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

5

Có một cách rất đơn giản và hiệu quả để làm điều này, miễn là bạn có quyền truy cập bàn điều khiển vào máy chủ / PC của mình và có thể khởi động lại nó: memtest86 +

Công cụ tiện lợi này sẽ nhanh chóng hiển thị cho bạn nếu bộ nhớ được bật ECC. Tôi cũng tin rằng nó sẽ thực hiện xác nhận ECC khi thực hiện thử nghiệm thực tế.

Đây là một ảnh chụp màn hình (hơi lỗi thời): nhập mô tả hình ảnh ở đây


Hoàn hảo! Hiện tại, tôi đang nhìn thấy IMC : AMD FX(tm)-6100 Six-Core Processor (ECC : Disabled)và ECC off. Tôi cho rằng nếu nó hiển thị bất cứ thứ gì khác ngoài Disabledoffcho ECC với các DIMM mới, thì tất cả tôi có được thiết lập ít nhất là về phần cứng không?
một CVn

2
@ MichaelKjorling Tôi chỉ giao dịch với ECC trên các máy chủ tiêu chuẩn công nghiệp với CPU Xeon, vì vậy tôi không biết. Tôi có thể tưởng tượng rằng CPU cần hỗ trợ ECC, vì bộ điều khiển bộ nhớ nằm bên trong nó.
pauseka

vi.wikipedia.org/wiki/, liệt kê FX-6100 là Zambezi (dựa trên Bulldozer), trong đó "tất cả các mẫu đều hỗ trợ ... ECC [RAM]"
CVn

Thật không may, memtest86 + 4.20 dường như không muốn nhận ra RAM của tôi là ECC. Tuy nhiên, có một số dấu hiệu khá mạnh khác rằng ECC đang hoạt động; xem câu trả lời của tôi Tuy nhiên, cảm ơn bạn rất nhiều!
một CVn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.