अगर ECC मोड में RAM चल रही है तो कैसे जांचें?


11

मैंने इस पोस्ट को अपडेट किया क्योंकि मैंने प्रोसेसर को बदल दिया है, लेकिन मेरे प्रश्न का मूल (और दुर्भाग्य से परिणाम भी) समान हैं।


मैंने अपना पहला FreeNAS बॉक्स बनाया और ECC RAM का उपयोग करना चाहता था क्योंकि मैं महत्वपूर्ण डेटा संग्रहीत करना चाहता हूं। क्योंकि मैं एक बजट पर हूं, मैं सबसे सस्ती समाधान के लिए जाना चाहता था जो अभी भी ईसीसी रैम का समर्थन करेगा।

कुछ शोध करने के बाद, मुझे पता चला कि मुझे एक मदरबोर्ड, मेमोरी और एक सीपीयू की आवश्यकता है जो ईसीसी का समर्थन करता है। मेरी पसंद का मदरबोर्ड "गीगाबाइट X150M-Pro ECC" है जिसमें C232 चिपसेट, DDR4 और LGA1151 सॉकेट है।

मैंने किंग्स्टन द्वारा मॉडल नंबर "KVR21E15S8K2 / 8" ( युक्ति पत्र ) के साथ दो DIMM की एक किट भी खरीदी । गीगाबाइट ने परीक्षण किए गए मेमोरी मॉड्यूल की एक सूची प्रकाशित की और मेरे मॉड्यूल काम करने वाले ईसीसी ( समर्थित मॉड्यूल की सूची ) के साथ समर्थित प्रतीत होते हैं ।

रैम लेबल

चूंकि मैं एक बजट पर हूं इसलिए मुझे एक सस्ती स्काईलेक सीपीयू की आवश्यकता थी जो ईसीसी का समर्थन करती है। Intel के अनुसार Celeron G3900 ECC को सपोर्ट करता है, इसलिए मैं उसी के साथ गया।

कंप्यूटर बनाने के बाद, मैं यह सत्यापित करना चाहता था कि मेरा सिस्टम वास्तव में ईसीसी मेमोरी के साथ चल रहा है और मदरबोर्ड के BIOS में प्रवेश किया है। विभिन्न इंटरनेट साइटों से, मुझे पता चला कि कुछ मदरबोर्ड में एक विशेष खंड होता है, जो यह बताना चाहिए कि क्या ECC काम कर रहा है, लेकिन मेरी मदरबोर्ड में ऐसा नहीं है। मैंने सभी मेनू चेक किए और मुझे एक समान अनुभाग नहीं मिला।

कुछ और शोध करने के बाद और यूनिक्स एंड लिनक्स स्टैकटेक्चेंज पर एक पोस्ट मिली जिसने मेरी समस्या का समाधान नहीं किया। मैंने नवीनतम की कोशिश की memtest86+जो मैं बता सकता था, वह भी "ईसीसी" मूल्य नहीं दिखाता है। मैंने पुराने 4.20 संस्करण की कोशिश की जिसका उपयोग पगेट सिस्टम ने किया था जो "ईसीसी: ऑफ" दिखाता था। हालांकि, पहले उल्लेख की गई पोस्ट को पढ़ने के बाद, मुझे संदेह है कि यह सच बताता है (शायद इसलिए फीचर को हटा दिया गया था?)। दोनों संस्करणों ने DIMM की सही गति और विलंबता को भी नहीं पढ़ा, जो मेरे संदेह को बढ़ाता है memtest86+

memtest86 + स्क्रीनशॉट

पता लगाने के लिए एक अन्य लोकप्रिय तरह, यदि ईसीसी काम कर रहा है, जारी करने के लिए था dmidecode -t memoryकमान और पढ़ा Total Widthऔर Data Width। मेरे परिणाम क्रमशः 128 Bitsऔर 64 Bitsथे। आउटपुट के एक हिस्से में मेमोरी एरे के बारे में विवरण दिखाया गया था जिसकी एक महत्वपूर्ण-मूल्य जोड़ी थी Error Correction Type: Single-bit ECC

मैं उम्मीद कर रहा था 72 bitsके लिए Total Widthहै, तो मैंने सोचा कि यह दोहरा चैनल से संबंधित हो सकती है और दो आसन्न स्लॉट जो दोहरी चैनल रोकने चाहिए में मेमोरी मॉड्यूल ले जाया गया, लेकिन परिणाम एक ही था। यहाँ का पूरा उत्पादन है dmidecode -t memory

मैंने उन दिलचस्प सी-प्रोग्राम को भी आज़माया जो पगेट सिस्टम ने प्रकाशित किया था, लेकिन इसका नतीजा यह था 0कि कोई ईसीसी समर्थन नहीं दिखा।

अब मुझे संदेह होने लगा है कि इंटेल की अपनी वेबसाइट का डेटा सही है और मेरा सीपीयू वास्तव में ईसीसी का समर्थन नहीं करता है। मेमोरी और मदरबोर्ड दोनों को विशेष रूप से "ईसीसी" के साथ ब्रांड किया गया है, इसलिए मैं उन पर शासन कर सकता हूं।

क्या यह संभव है कि ईसीसी को सक्षम करने के लिए BIOS संस्करण को अपडेट (वर्तमान में कोई नहीं है) की आवश्यकता है या क्या ईसीसी वास्तव में पहले से ही काम कर रहा है और मैं इसे सत्यापित करने में सक्षम नहीं था? या सीपीयू की मेरी पसंद गलत है, अगर मैं ईसीसी मेमोरी चलाना चाहता हूं और इंटेल की वेबसाइट गलत / भ्रामक है?

यदि मेरा सीपीयू गलत विकल्प है, तो "बजट ईसीसी सीपीयू" के लिए अगला सबसे अच्छा विकल्प क्या होगा?

अद्यतन: मैंने कुछ नए संकेत देखे कि मेरा सिस्टम वास्तव में ईसीसी सक्षम के साथ चल रहा है और dmidecodeउपकरण सिर्फ अजीब डेटा की रिपोर्ट करता है। FreeNAS मंच पर उपयोगकर्ता Dusan सर्वर ग्रेड हार्डवेयर (SuperMicro MB, Xeon CPU, Kingston DIMM) का उपयोग कर रहा है और इसके साथ एक समान आउटपुट देता है 128 Bits। लेकिन उन्होंने लिखा कि उन्हें खुद पर यकीन नहीं है, अगर यह वास्तव में काम करता है।

अद्यतन 2: जैसा कि yagmoth555 ने इस प्रश्न के उत्तर में उल्लेख किया है , ऐसा लगता है कि मेरा मदरबोर्ड केवल एक्सईएन प्रोसेसर के साथ ईसीसी का समर्थन करता है, हालांकि मैंने सोचा था कि नोट पिछले मैनुअल से एक राहत था जिसे कॉपी किया गया था। मुझे लगता है कि इसका मतलब है कि मुझे एक Xeon प्रोसेसर में देखने की जरूरत है ..: - /


अद्यतन 3: मैंने अब एक Xeon E3-1220v5 खरीदा है जो बेशक ECC का समर्थन करता है और मैनुअल से आवश्यकता को पूरा करना चाहिए। मैंने ECC कार्यक्षमता की जांच के लिए सभी परीक्षण फिर से चलाए और परिणाम मूल रूप से समान हैं:

ecc_check और dmidecode

पुगेट सिस्टम की टिप्पणियों से, यह भी लगता है कि यह ecc_check.cकार्यक्रम Xeon और Core i7 प्रोसेसर पर काम नहीं करता है: - / -

मैंने memtest86+इस बार कुछ और जाँच की और मुझे पूरा यकीन है कि यह DDR4 या C232 चिपसेट का समर्थन नहीं करता है, क्योंकि यह न केवल गलत गति और समय की रिपोर्ट करता है, बल्कि DDR4 के बजाय DDR4 को स्थापित करता है। हालाँकि, इसने प्रोसेसर का ठीक-ठीक पता लगाया, लेकिन मुझे अभी भी दोनों संस्करणों के साथ समान परिणाम मिले memtest86+:

memtest86 + v5.01

संस्करण 4.20 भी ठीक से मेरे प्रोसेसर का पता नहीं लगाता है ..

memtest86 + v4.20

ईसीसी के लिए मैं और कैसे परीक्षण कर सकता हूं, इस पर कोई विचार बहुत सराहना करते हैं।


ठीक है, अगर आप मशीन ईसीसी का समर्थन नहीं करते हैं, तो यह शुरू नहीं होगा :)
अनाथ

1
@ अनाथों को मदरबोर्ड मिलने से पहले, मैंने कुछ सस्ते वाले देखे जो कि Z170 आदि जैसे अन्य चिपसेट पर "ECC सपोर्ट" का दावा करते थे, उनका कहना है कि इसका मतलब है कि बोर्ड ECC मेमोरी के साथ (दुर्घटनाग्रस्त नहीं) चल सकता है लेकिन प्रभावी रूप से इसका उपयोग करेगा। इसलिए मैं सोच रहा हूं कि क्या मेरा मामला ऐसा है?
comfreak

यदि ECC आमतौर पर आप इसे POST अनुभाग में देखते हैं। क्या आप बूट स्क्रीन देखने के लिए ESC को बूट के दौरान दबा सकते हैं?
yagmoth555

Memtest86.com से भी याद करने की कोशिश करें
साइट्रिन

@comfreak हम्म, आप सही हैं।
अनाथ

जवाबों:


4

आज मुझे पता चला एक है कि वहाँ व्यावसायिक संस्करण के memtest86(बिना +PassMark से) है कि एक नि: शुल्क संस्करण भी है जो शुक्र शामिल ईसीसी-जांच प्रदान करता है।

इसके अलावा यह DDR4 और अन्य सभी सुविधाओं का भी समर्थन करता है memtest86+

ईसीसी समर्थन के लिए मेरा परिणाम सकारात्मक प्रतीत हो रहा है, इसलिए मैं इसे पूरा करूंगा, भले ही मुझे "पारंपरिक" उपकरण जैसे समान परिणाम प्राप्त होने की उम्मीद थी dmidecode

memtest86 परिणाम


यदि कोई बाद के समय में इस पद पर ठोकर खाता है और आगे सत्यापन और परीक्षण की आवश्यकता है, तो वे एक भुगतान किए गए संस्करण की भी पेशकश करते हैं जो वास्तव में ईसीसी क्षमताओं के परीक्षण के लिए ईसीसी त्रुटि इंजेक्शन का समर्थन करता है।


3

संपादित : आपके मदरबोर्ड मैनुअल से ख़राब नया ...:

यहाँ छवि विवरण दर्ज करें


मैं देख रहा हूँ कि आप BSD / linux चलाते हैं, OS के अंदर चलाते हैं; ( FreeNAS के लिए उपलब्ध )

dmidecode -t 17

आपके पास एक आउटपुट होना चाहिए जैसे:

dmidecode 2.12 SMBIOS 2.5 present.

Handle 0x1100, DMI type 17, 28 bytes Memory Device Array Handle: 0x1000 Error Information Handle: Not Provided Total Width: 72 bits Data Width: 64 bits Size: 2048 MB Form Factor: DIMM Set: 1 Locator: DIMM1 Bank Locator: Not Specified Type: DDR2 Type Detail: Synchronous Speed: 667 MHz Manufacturer: AD00000000000000 Serial Number: 00002062 Asset Tag: 010839 Part Number: HYMP125P72CP8-Y5 Rank: 2

कुल चौड़ाई: 72 बिट्स हिस्सा आप के लिए देख रहे हैं।

विंडोज सिस्टम पर आप चला सकते हैं

wmic MEMORYCHIP get DataWidth,TotalWidth

// ईसीसी मेमोरी डाटाविद कुल टोटलवीड 64 72

// नॉन-ईसीसी मेमोरी डाटाविद टोटलवीड 64 64

FreeBSD और Windows के लिए उत्तर वहां से लिया गया


मूल रूप से मैंने जो पहले ही कोशिश की थी dmidecode -t memoryऔर मेरा परिणाम 128 बिट्स Totalऔर 64 बिट्स थाData
कॉमफ्रीक

@comfreak dmidecode -t 17 वापसी क्या?
yagmoth555

मुझे मूल रूप से समान आउटपुट मिलते हैं जैसे dmidecode -t memory: slexy.org/view/s2JimvAzl6
comfreak

@ अच्छी तरह से, 128 मुझे कोई मतलब नहीं है। आमतौर पर यह ECC के लिए 64 नॉन ecc या 64b + 8b (72) है (दर्पण ?? 64 + 64?)। लेकिन सर्चिंग 'dmidecode कुल 128 चौड़ाई की सूची FreeNAS का एक बहुत पोस्ट ... एक बहुत ./ecc_check.py अजगर स्क्रिप्ट के साथ ईसीसी पता लगाने का प्रयास करने लगते हैं
yagmoth555

मेरी धारणा यह थी कि यह दोहरे चैनल से संबंधित हो सकता है, लेकिन मुझे भी वही परिणाम मिलता है जब मैंने दो मॉड्यूल को दो अलग-अलग चैनलों में डाल दिया है, जिसका अर्थ है कि दोहरी चैनल काम नहीं करना चाहिए।
comfreak

3

एक Ryzen 7 प्रोसेसर का उपयोग करते हुए, उल्लेखित उपकरणों में से किसी ने भी मेरे लिए काम नहीं किया। हालाँकि हाल ही में पर्याप्त लिनक्स कर्नेल के साथ, edac-utils, edac-ctl और edac- उपयोग में उपकरण ECC स्थिति पढ़ सकते हैं और सही त्रुटियों की संख्या जैसी चीजें भी पढ़ सकते हैं। कर्नेल लॉग में dmesg में "EDAC" के साथ लाइनें भी होंगी, जो कुछ जानकारी भी देनी चाहिए। रैम को ओवरक्लॉक करके और जाँच की जा सकती है कि इस कार्यक्षमता को और अधिक जांचा जा सकता है और त्रुटियों की सूचना दी जाती है (यदि पर्याप्त उच्च जा रहा है), तो यह उतना ही प्रमाण है जितना कि आप प्राप्त कर सकते हैं कि यह वास्तव में काम करता है। हालाँकि, भले ही ये उपकरण त्रुटियों की रिपोर्ट करें या काम न करें, इसका मतलब है कि केवल ECC स्थिति की जानकारी पढ़ने का समर्थन नहीं है, ऐसा लगता है कि ECC काम नहीं कर रहा है यह साबित करने के लिए कोई 100% विश्वसनीय तरीका नहीं है ...


1
क्या आपने पटकथा memtest86 की कोशिश की? (एक जो मैंने अपने उत्तर में उल्लेख किया है)
comfreak

जबकि आपका आउटपुट अलग-अलग हो सकता है, dmesg में EDAC की जानकारी के लिए आप चला सकते हैं dmesg | grep EDAC(आपको रूट विशेषाधिकारों के साथ इसे चलाने की आवश्यकता हो सकती है)। उदाहरण के लिए, ECC मेमोरी के साथ एक Ryzen- आधारित सिस्टम में और BIOS में सक्षम (यदि लागू हो), तो आप एक पंक्ति देख सकते हैं जो कि दिखता हैamd64: Node 0: DRAM ECC enabled.
जो

0

नॉन सर्वर मदरबोर्ड और चिपसेट के लिए, केवल विशिष्ट AMD मदरबोर्ड (जैसे ASRock) और कोई भी AMD चिपसेट ECC प्रदान करते हैं।

Intel के लिए, वे केवल ECC को सर्वर Xeon चिपसेट पर उपलब्ध कराते हैं। इंटेल अपने डेस्कटॉप चिपसेट पर ईसीसी को निष्क्रिय कर देता है।


यह सच हो सकता है, लेकिन यह यहां पूछे गए वास्तविक प्रश्न का उत्तर नहीं देता है।
17

यह op प्रश्न पर लागू होता है क्योंकि वह एक गैर xeon Intel चिप चला रहा है। जवाब वह जाँच नहीं कर सकता है।
d hee

बस आपके उत्तर का अंतिम वाक्य गलत है, क्योंकि C232 चिपसेट उदाहरण के लिए "डेस्कटॉप चिपसेट" है और ईसीसी का समर्थन करता है। इसके अलावा, यह सवाल अधिक सामान्य है कि कैसे जांचना है, जैसे कि आप नहीं जानते कि यह समर्थित है या नहीं।
comfreak
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.