İşlemciyi değiştirdiğimden beri bu yazıyı güncelledim, ancak sorumun özü (ve ne yazık ki sonuçlar da) aynı.
İlk FreeNAS kutumu oluşturdum ve kritik verileri depolamak istediğim için ECC RAM kullanmak istedim. Bütçede olduğum için, hala ECC RAM'i destekleyecek en uygun fiyatlı çözümü bulmak istedim.
Biraz araştırma yaptıktan sonra, bir anakart, bellek ve ECC'yi destekleyen bir CPU'ya ihtiyacım olduğunu öğrendim. Seçtiğim anakart C232 yongaseti, DDR4 ve LGA1151 soketi olan "Gigabyte X150M-Pro ECC".
Ayrıca Kingston tarafından "KVR21E15S8K2 / 8" model numarasına sahip iki DIMM kiti aldım ( teknik özellik belgesi ). Gigabyte test edilmiş bellek modüllerinin bir listesini yayınladı ve modüllerim çalışan ECC ( desteklenen modüllerin listesi) ile destekleniyor gibi görünüyor .
Bütçede olduğum için ECC'yi destekleyen uygun fiyatlı bir Skylake CPU'ya ihtiyacım vardı. Intel'e göre Celeron G3900 ECC'yi destekliyor, ben de onunla gittim.
Bilgisayarı kurduktan sonra, sistemimin gerçekten ECC bellekle çalıştığını ve anakartın BIOS'una girdiğini doğrulamak istedim. Çeşitli internet sitelerinden, bazı anakartların ECC'nin çalışıp çalışmadığını anlaması gereken özel bir bölümü olduğunu öğrendim , ancak anakartım buna sahip görünmüyor. Tüm menüleri kontrol ettim ve benzer bir bölüm bulamadım.
Biraz daha araştırma yaptıktan ve Unix & Linux stackexchange üzerinde sorunumu çözmeyen bir yazı bulduktan sonra . Anlatabildiğim memtest86+
kadarıyla "ECC" değerini bile göstermeyen en son denedim . Puget sistemlerinin kullandığı , "ECC: off" u gösteren eski 4.20 sürümünü denedim . Ancak daha önce bahsedilen yazıyı okuduktan sonra, gerçeği söylediğinden şüpheliyim (belki de bu yüzden özellik kaldırıldı?). Her iki versiyon da DIMM'in doğru hızını ve gecikmesini okumamıştı memtest86+
.
Bir diğer popüler yolu ECC çalışıyorsa, sorunu oldu, öğrenmek için dmidecode -t memory
komut ve okunacaktır Total Width
ve Data Width
. Sonuçlarım sırasıyla 128 Bits
ve 64 Bits
idi. Çıktının bir kısmı, anahtar / değer çiftine sahip bellek dizisi hakkında ayrıntılar gösterdi Error Correction Type: Single-bit ECC
.
Ben bekliyordum 72 bits
için Total Width
bunu çift kanalla ilgili olabileceğini düşündüm ve çift kanal önleyecektir iki komşu yuvalara bellek modüllerini taşındı ama sonuç aynıydı bu yüzden. İşte tam çıkış arasında dmidecode -t memory
.
Puget sistemlerinin yayınladığı ilginç C-programını bile denedim , ancak sonuç 0
ECC desteği olmadığını gösterdi.
Şimdi Intel'in kendi web sitesindeki verilerin doğru olduğundan ve CPU'mun aslında ECC'yi desteklemediğinden şüphe etmeye başlıyorum. Hem bellek hem de anakart özellikle "ECC" ile markalı, bu yüzden bunları ekarte edebilirim.
BIOS sürümünün ECC'yi etkinleştirmek için bir güncellemeye ihtiyacı var mı (şu anda yok) veya ECC aslında zaten çalışıyor mu ve doğrulayamadım mı? Yoksa ECC belleği çalıştırmak ve Intel'in web sitesinin yanlış / yanıltıcı olması durumunda CPU seçimim yanlış mı?
CPU'm yanlış bir seçim olduğu ortaya çıkarsa, bir "bütçe ECC CPU" için bir sonraki en iyi seçim ne olurdu?
GÜNCELLEME: Sistemimin ECC etkinken gerçekten çalışıyor olabileceğine dair yeni bir işaret gördüm ve dmidecode
araç sadece garip veriler rapor ediyor. FreeNAS forumunda Dusan kullanıcısı sunucu sınıfı donanım kullanıyor (SuperMicro MB, Xeon CPU, Kingston DIMM) ve benzer bir çıktıya sahip 128 Bits
. Ama eğer gerçekten işe yarıyorsa, kendinden emin olmadığını yazdı.
GÜNCELLEME 2: Bu soruya verdiği yanıtta yagmoth555'in de belirttiği gibi, anakartımın sadece Xeon işlemcilerle ECC'yi desteklediği görülüyor, ancak notun kopyalanan önceki kılavuzlardan bir kalıntı olduğunu düşündüm. Sanırım bu bir Xeon işlemciye bakmam gerektiği anlamına geliyor ..: - /
GÜNCELLEME 3: Tabii ki ECC'yi destekleyen ve kılavuzdaki gereksinimi karşılaması gereken bir Xeon E3-1220v5 aldım. ECC işlevselliğini kontrol etmek için tüm testleri tekrar yaptım ve sonuçlar temel olarak aynı:
Puget Systems'daki yorumlardan, ecc_check.c
programın Xeon ve Core i7 işlemcilerde çalışmadığı da anlaşılıyor ..: - /
memtest86+
Bu sefer biraz daha kontrol ettim ve DDR4'ü veya C232 yonga setini desteklemediğinden oldukça eminim, çünkü sadece yanlış hız ve zamanlamaları değil, aynı zamanda kurulu DDR4 yerine DDR3'ü de rapor ediyor. Ancak, işlemci gayet iyi tespit etti, ancak yine de her iki sürümüyle de aynı sonucu aldım memtest86+
:
Sürüm 4.20 işlemcimi düzgün algılamıyor bile ..
ECC için başka nasıl test edebileceğime dair herhangi bir fikir çok takdir edilmektedir.