Làm cách nào để biết Bộ nhớ của tôi là ECC hay Non-ECC?


46

Tôi cần thay thế bộ nhớ trong hệ thống của mình và tôi không chắc chắn làm thế nào để xác định xem bộ nhớ là ECC hay Non-ECC. Làm thế nào để tôi xác định điều này?


2
Có bất kỳ điều gì trong sổ tay của PC của bạn không, thông thường nó được chỉ định ở đó. Nếu không thì tải xuống và cài đặt Speccy . Chương trình này cho bạn biết chính xác phần cứng bạn có trong PC, sau đó bạn có thể kiểm tra nó.
Wernfried Domscheit

Tra cứu hướng dẫn sử dụng bo mạch chủ hoặc hướng dẫn hệ thống cho hệ thống của bạn và xem những gì cần thiết cho phần cứng của bạn? Sử dụng các công cụ gợi ý bộ nhớ trên các trang web nhà cung cấp RAM khác nhau?
Zoredache


2
@WannabeCoder "bạn nên sử dụng phi ECC" [cần dẫn nguồn] [giải thích không đầy đủ]
CVn

1
@ MichaelKjorling Tính toàn vẹn dữ liệu ở cấp độ đó không quan trọng trong các ứng dụng sử dụng tại nhà. Các ứng dụng gốc (hoặc HĐH) có thể xử lý dễ dàng và bộ nhớ ECC đi kèm với chi phí hoạt động nhỏ. Ngoài ra, hầu như tất cả các CPU tiêu dùng không hỗ trợ bộ nhớ ECC (do đó "nên").
WannabeCoder

Câu trả lời:


58

Đối với Windows 7, bạn có thể chạy lệnh sau trong dấu nhắc lệnh:

wmic MEMORYCHIP get DataWidth,TotalWidth

Nếu giá trị TotalWidth lớn hơn giá trị DataWidth, bạn có bộ nhớ ECC.

Ví dụ đầu ra:

//ECC Memory
DataWidth  TotalWidth
64         72

//Non-ECC Memory
DataWidth  TotalWidth
64         64

Một cách tốt hơn để xác định là thông qua lệnh sau:

wmic memphysical get memoryerrorcorrection

Điều này sẽ trả về một mã dựa trên loại bộ nhớ được cài đặt:

Value Meaning 
0 (0x0) Reserved 

1 (0x1) Other 

2 (0x2) Unknown 

3 (0x3) None 

4 (0x4) Parity 

5 (0x5) Single-bit ECC 

6 (0x6) Multi-bit ECC 

7 (0x7) CRC

Tôi nhận được bộ nhớ - Không tìm thấy bí danh. trên windows 7 Enterprise SP 1

3
@kristianp Lệnh thứ 2 có hai lỗi chính tả, nên là: wmic memphysical get memoryerrorcorrection(làm việc cho tôi trong 8.1)
Dan Neely

@DanNeely Hệ thống của tôi (mà tôi biết có 8 dải 4GB ECC) cung cấp 2 giá trị từ lệnh đó: 6 và 3 trên dòng đầu ra thứ hai. Lệnh khác hiển thị 8 dòng với 64 và 72 (như mong đợi) và 1 dòng thêm hiển thị 2 và 2. Tôi chưa bao giờ thấy điều đó trước đây. Bất cứ ý tưởng đó có nghĩa là gì? Đối với bản ghi: Đó là máy trạm HP XW8600 (bo mạch chủ máy chủ Intel 5400/6311.)
Tonny

@Tonny bạn đang sử dụng lệnh nào?
James Mertz

Mã 3 (không có) có nghĩa là gì? Tôi không có bộ nhớ cài đặt?
Phục hồi lại

40

Đối với FreeBSD (và có lẽ hầu hết các nền tảng giống như unix):

dmidecode -t 17

Ví dụ đầu ra:

# dmidecode 2.12
SMBIOS 2.5 hiện tại.

Xử lý 0x1100, DMI loại 17, 28 byte
Thiết bị bộ nhớ
        Xử lý mảng: 0x1000
        Xử lý thông tin lỗi: Không được cung cấp
        Tổng chiều rộng: 72 bit
        Độ rộng dữ liệu: 64 bit
        Kích thước: 2048 MB
        Yếu tố hình thức: DIMM
        Hiệp 1
        Định vị: DIMM1
        Định vị ngân hàng: Không xác định
        Loại: DDR2
        Loại chi tiết: Đồng bộ
        Tốc độ: 667 MHz
        Nhà sản xuất: AD00000000000000
        Số sê-ri: 00002062
        Thẻ tài sản: 010839
        Mã sản phẩm: HYMP125P72CP8-Y5
        Xếp hạng: 2

Đây Total Width: 72 bitslà phần bạn đang tìm kiếm.


Thông tin thêm trong việc phát hiện điều này trong Linux có thể được tìm thấy ở đây trên trang web chị em của chúng tôi unix.stackexchange.com.

Thông tin thêm về cách hoạt động của mã sửa lỗi có thể được tìm thấy trong bài đăng đơn giản này , nơi tôi đã chỉ ra cách bạn có thể sử dụng các bit bổ sung để phát hiện và sửa lỗi. Đây là lý do tại sao chúng ta có các DIMM rộng 64 bit (rộng 8 byte dữ liệu) hoặc rộng 72 bit (64 dữ liệu cộng với các bit bổ sung để lưu trữ thông tin dư thừa).


3
dmidecode là tiêu chuẩn trên Linux, quá. Tôi nghĩ rằng việc sửa lỗi sẽ xảy ra theo mặc định với RAM ECC được cài đặt, nhưng nếu kernel của bạn đang theo dõi bộ điều khiển bộ nhớ để theo dõi tốc độ lỗi bộ nhớ, đó sẽ là một xác nhận khác rằng bạn có RAM ECC. (kiểm tra nhật ký kernel.)
Peter Cordes

Làm thế nào để bạn kiểm tra nếu bộ điều khiển bộ nhớ đang theo dõi đó? mcelog?
Hennes

Tôi không có quyền truy cập vào bất kỳ máy chủ nào được trang bị ECC nữa, nhưng tôi sẽ tìm một thông điệp nhật ký kernel về nó. Có lẽ không có. Có một liên kết đến một cái gì đó về nó trên buttersideup.com (tên miền tốt nhất từng có cho một dự án, IMO).
Peter Cordes

1
Tôi nghĩ bạn nên giải thích trong câu trả lời của mình những gì cần kết luận về ECC nếu Total Width72 bitshoặc 64 bits.
AL

1
"Tổng chiều rộng: 72 bit là phần bạn đang tìm kiếm." Và tôi phải làm gì sau khi tìm thấy nó?
endolith

19

Nếu bạn nhìn vào mô-đun bộ nhớ vật lý, ECC thường sẽ có 9 chip (đôi khi nhiều hơn) . Non-ECC sẽ chỉ có 8 (hoặc hiếm khi, 8x2 = 16) .

ECC so với không ECC (Hình ảnh lịch sự của Hệ thống Puget )


9 chip cho 10 bit mỗi byte trên mô-đun ECC?
Hennes

5
@ Hennes: Bạn có thể có 10, nhưng 9 là phổ biến hơn nhiều. Bộ nhớ thường được chia thành các khối 72 bit (8 bit được đọc cùng một lúc từ mỗi 9 chip dữ liệu) , với 64 bit dữ liệu + 8 bit sửa lỗi trong mỗi khối. Xem ở đây để biết thêm thông tin kỹ thuật.
BlueRaja - Daniel Pflughoeft

1
Như một quy tắc chung hơn, nếu số lượng chip bộ nhớ chia hết cho 3 thì mô-đun là ECC.
James Mertz

Khi sao chép bất kỳ nội dung nào (bao gồm cả hình ảnh), bạn phải cung cấp thẩm quyền.
Mokubai

1
@endolith kể từ khi các trang web bắt đầu và theo trung tâm trợ giúp: Cách tham khảo tài liệu được viết bởi người khác .
Mokubai

8

Trên máy Mac, bạn có thể xem trong ứng dụng Thông tin hệ thống để xác định trạng thái ECC của Máy tính và từng mô-đun RAM.

/Applications/Utilities/System Information

Chọn Bộ nhớ ở khung bên phải, bên dưới phần cứng.

Sau đó, với danh sách "Khe cắm bộ nhớ" được chọn. Cửa sổ bên dưới sẽ hiển thị trạng thái ECC.

Nhìn bức ảnh bên dưới:

Cửa sổ ứng dụng thông tin hệ thống

Cũng như một FYI, mỗi khe RAM sẽ có trường Trạng thái nếu có sự cố được phát hiện trong mô-đun RAM, trạng thái sẽ là một giá trị khác ngoài "OK"


"Vô hiệu hóa" có nghĩa là ram không phải là ECC? nó không hoàn toàn rõ ràng từ câu trả lời của bạn
mounaim

Điều đó đúng với trạng thái "Đã bật" có nghĩa là RAM của anh ta là ECC.
MrDaniel

6

inxi có thể làm điều đó:

$ sudo inxi -m -xxx
Memory:    Array-1 capacity: 32 GB devices: 4 EC: None
           Device-1: ChannelA-DIMM0 size: 4 GB speed: 1333 MHz type: DDR3 (Synchronous)
           bus width: 64 bits manufacturer: Kingston part: KHX1600C9D3/4GX serial: B7ED5A53

...

Ở đây các mô-đun không ECC-RAM được sử dụng EC: None


4 EC: Nonegiá trị tôi nên tìm kiếm?
James Mertz

Chỉ là EC: None. Đây 4là một phần của trường trước ( devices: 4).
duskwuff

0

Bạn cũng có thể thử một ứng dụng miễn phí như Belarc . Cung cấp thêm một loạt thông tin về hệ thống của bạn cũng ...

Tôi đã sử dụng phần mềm một vài lần. Tôi không có liên kết với phần mềm này, nhưng tôi biết rằng nó được sử dụng bởi một số trường đại học.

Tôi không thể cung cấp ảnh chụp màn hình kết quả vì nó chứa dữ liệu bí mật, nhưng trang web sẽ cung cấp một số ví dụ. Nó khá thẳng về phía trước (và nhanh chóng), tải xuống tệp, chạy nó và kết quả được trình bày.


Xin vui lòng cung cấp thêm chi tiết như cách làm việc này. Để tham khảo xem bài đăng meta này
James Mertz
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.