Bagaimana saya tahu apakah Memori saya adalah ECC atau Non-ECC?

46

Saya perlu mengganti memori di sistem saya dan saya tidak yakin bagaimana menentukan apakah memori itu ECC atau Non-ECC. Bagaimana saya menentukan ini?

James Mertz
sumber
2
Apakah ada anyting di buku pegangan PC Anda, Biasanya itu ditentukan di sana. Kalau tidak, unduh dan instal Speccy . Program ini memberi tahu Anda perangkat keras mana yang Anda miliki di PC, lalu Anda dapat memeriksanya.
Wernfried Domscheit
Cari manual motherboard, atau manual sistem untuk sistem Anda, dan lihat apa yang diperlukan untuk perangkat keras Anda? Gunakan alat saran memori di berbagai situs web vendor RAM?
Zoredache
2
@WannabeCoder "Anda harus menggunakan non-ECC" [rujukan?] [Penjelasan tidak mencukupi]
CVn
1
@ MichaelKjörling Integritas data pada tingkat itu tidak penting dalam aplikasi yang digunakan di rumah. Aplikasi induk (atau OS) dapat menangani itu dengan mudah, dan memori ECC hadir dengan overhead kinerja kecil. Selain itu, hampir semua CPU konsumen tidak mendukung memori ECC (sehingga "seharusnya").
WannabeCoder

Jawaban:

58

Untuk Windows 7 Anda dapat menjalankan perintah berikut di command prompt:

wmic MEMORYCHIP get DataWidth,TotalWidth

Jika nilai TotalWidth lebih besar dari nilai DataWidth Anda memiliki memori ECC.

Contoh output:

//ECC Memory
DataWidth  TotalWidth
64         72

//Non-ECC Memory
DataWidth  TotalWidth
64         64

Cara yang lebih baik untuk menentukan adalah melalui perintah berikut:

wmic memphysical get memoryerrorcorrection

Ini akan mengembalikan kode berdasarkan jenis memori yang dipasang:

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
James Mertz
sumber
Saya mendapatkan memoryphysical - Alias ​​tidak ditemukan. pada windows 7 Enterprise SP 1
3
@ kristianp Perintah ke-2 memiliki dua kesalahan ketik di dalamnya, seharusnya: wmic memphysical get memoryerrorcorrection(bekerja untuk saya di 8.1)
Dan Neely
@DanNeely Sistem saya (yang saya tahu memiliki 8 strip ECC 4GB) memberikan 2 nilai dari perintah itu: 6 dan 3 pada output baris kedua. Perintah lainnya menunjukkan 8 baris dengan 64 dan 72 (seperti yang diharapkan) dan 1 baris tambahan menunjukkan 2 dan 2. Saya belum pernah melihat itu sebelumnya. Adakah yang tahu apa artinya itu? Sebagai catatan: Ini adalah HP XW8600 workstation (motherboard server Intel 5400/6311.)
Tonny
@Tonny perintah mana yang kamu gunakan?
James Mertz
Apa arti kode 3 (tidak ada)? Saya tidak memiliki memori yang terpasang?
Pasang kembali Monica
40

Untuk FreeBSD (dan mungkin platform yang paling mirip unix):

dmidecode -t 17

Contoh output:

# dmidecode 2.12
SMBIOS 2.5 hadir.

Tangani 0x1100, DMI tipe 17, 28 byte
Perangkat Memori
        Handle Array: 0x1000
        Pegangan Informasi Kesalahan: Tidak Disediakan
        Total Lebar: 72 bit
        Lebar Data: 64 bit
        Ukuran: 2048 MB
        Faktor Bentuk: DIMM
        Set: 1
        Pencari Lokasi: DIMM1
        Pencari Lokasi Bank: Tidak Ditentukan
        Ketik: DDR2
        Jenis Detail: Sinkron
        Kecepatan: 667 MHz
        Pabrikan: AD0000000000000000
        Nomor Seri: 00002062
        Tag Aset: 010839
        Nomor Bagian: HYMP125P72CP8-Y5
        Peringkat: 2

Ini Total Width: 72 bitsadalah bagian yang Anda cari.


Informasi lebih lanjut dalam mendeteksi ini di Linux dapat ditemukan di sini di situs saudara kami unix.stackexchange.com.

Informasi lebih lanjut tentang cara kerja kode koreksi kesalahan dapat ditemukan di pos sederhana ini di mana saya menunjukkan bagaimana Anda dapat menggunakan bit tambahan untuk mendeteksi dan memperbaiki kesalahan. Inilah sebabnya kami memiliki DIMM yang lebar 64 bit (lebar data 8 byte) atau lebar 72 bit (data 64 ditambah bit ekstra untuk menyimpan informasi yang berlebihan).

Hennes
sumber
3
dmidecode juga standar di Linux. Saya pikir koreksi kesalahan akan terjadi secara default dengan RAM ECC diinstal, tetapi jika kernel Anda memantau pengontrol memori untuk melacak tingkat kesalahan memori, itu akan menjadi konfirmasi lain bahwa Anda memiliki RAM ECC. (periksa log kernel.)
Peter Cordes
Bagaimana Anda memeriksa apakah pengontrol memori melacaknya? mcelog?
Hennes
Saya tidak memiliki akses ke server yang dilengkapi ECC lagi, tetapi saya akan mencari pesan log kernel tentang hal itu. Mungkin tidak ada. Ada tautan ke sesuatu tentang hal ini di buttersideup.com (nama domain terbaik untuk proyek, IMO).
Peter Cordes
1
Saya pikir Anda harus menjelaskan dalam jawaban Anda apa yang harus disimpulkan tentang ECC jika Total Widthada 72 bitsatau tidak 64 bits.
AL
1
"Lebar Total: 72 bit adalah bagian yang Anda cari." Dan apa yang harus saya lakukan setelah menemukannya?
endolith
19

Jika Anda melihat modul memori fisik, ECC biasanya akan memiliki 9 (kadang-kadang lebih) chip. Non-ECC hanya akan memiliki 8 (atau jarang, 8x2 = 16) .

ECC vs non-ECC (Gambar milik Sistem Puget )

BlueRaja - Danny Pflughoeft
sumber
9 chip untuk 10 bit per byte pada modul ECC?
Hennes
5
@ Hennes: Anda dapat memiliki 10, tetapi 9 jauh lebih umum. Memori biasanya dibagi menjadi potongan-potongan 72-bit (8 bit dibaca sekaligus dari masing-masing 9 data-chip) , dengan 64-bit data + 8-bit koreksi-kesalahan di setiap chunk. Lihat di sini untuk info teknis lebih lanjut.
BlueRaja - Danny Pflughoeft
1
Sebagai aturan yang lebih umum, jika jumlah chip memori dapat dibagi 3 maka modulnya adalah ECC.
James Mertz
Saat menyalin konten apa pun (termasuk gambar), Anda harus memberikan atribusi.
Mokubai
1
@ endolith sejak situs dimulai, dan sesuai dengan pusat bantuan: Cara referensi materi yang ditulis oleh orang lain .
Mokubai
8

Pada Mac, Anda dapat melihat dalam aplikasi Sistem Informasi untuk menentukan status ECC Komputer dan setiap modul RAM.

/Applications/Utilities/System Information

Pilih Memori di panel kanan, di bawah bagian perangkat keras.

Kemudian dengan daftar "Memory Slot" dipilih. Jendela di bawah ini akan menunjukkan status ECC.

Lihat gambar di bawah ini:

Jendela Aplikasi Sistem Informasi

Juga sebagai FYI setiap slot RAM akan memiliki bidang Status jika ada masalah yang terdeteksi dalam modul RAM status akan menjadi nilai selain "OK"

MrDaniel
sumber
Apakah "Dinonaktifkan" berarti ram bukan ECC? itu tidak begitu jelas dari jawaban Anda
mounaim
Itu benar status "Diaktifkan" akan berarti bahwa dia RAM ECC.
MrDaniel
6

inxi dapat melakukan itu:

$ 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

...

Di sini digunakan modul non ECC-RAM EC: None

Jonas Stein
sumber
Apakah 4 EC: Nonenilai yang seharusnya saya cari?
James Mertz
Hanya saja EC: None. Ini 4adalah bagian dari bidang sebelumnya ( devices: 4).
duskwuff
0

Anda juga dapat mencoba aplikasi gratis seperti Belarc . Memberi lebih banyak info tentang sistem Anda juga ...

Saya telah menggunakan perangkat lunak beberapa kali. Saya tidak memiliki afiliasi dengan perangkat lunak ini, tetapi saya tahu itu digunakan oleh beberapa universitas.

Saya tidak dapat memberikan cuplikan layar hasil karena berisi data rahasia, tetapi situs web harus memberikan beberapa contoh. Cukup cepat (dan cepat), unduh file, jalankan, dan hasilnya disajikan.

htm11h
sumber
Tolong beri lebih detail bagaimana ini bekerja. Untuk referensi, lihat posting meta ini
James Mertz