Gibt es einen bestimmten oder messbaren Vorteil bei der Verwendung von ECC-RAM in einem Desktop-PC?

21

Ich mache viel Aufhebens um den Bau stabiler Maschinen - insofern hasse ich Abstürze, Neustarts, komisches Verhalten usw. - und daher scheint die Fehlerkorrektur, auch bekannt als ECC-RAM, ein großes Problem zu lösen: Speicherfehler.

Aber geht das wirklich? Gibt es einen messbaren Vorteil, z. B. weniger Abstürze oder anderes Verhalten?

Abgesehen von den Kosten, warum nicht ECC-Speicher für einen neuen PC-Build verwenden? Warum ist die ECC-Funktion vorwiegend für Computer der Server- / Workstation-Klasse verfügbar und wird von diesen unterstützt, jedoch nicht für Motherboards, die sich an Kunden orientieren?

Chris W. Rea
quelle
1
Ja, ECCs sind wirklich nützlich gegen weiche Fehler. Ein weicher Fehler kann ein System zum Absturz bringen, wenn beim Speicherzugriff ein Fehler auftritt. Es wurde berichtet, dass ein einziger weicher Fehler eine Milliarden-Dollar-Industrie zum Stillstand brachte. Hier finden Sie eine ausführliche Referenz .
user984260

Antworten:

10

Ich verwende ECC-RAM seit einigen Jahren auf Servern. ECC strahlt wirklich, wenn Sie Ihre Maschine übermäßig stark nutzen, wie in "Es ist mehr als 12-16 Stunden pro Tag". Kleine Whitebox-Server, die ich ohne ECC gebaut habe, hatten früher oder später "Probleme", die einen Neustart erforderten, aber die ECC-Computer hatten diese nie .

So ist meine Antwort: Wenn Sie Ihren Computer verwenden eine Menge , dann ist es sehr wahrscheinlich , ja. Wenn Sie Ihren Computer rund um die Uhr nutzen, sollte er ein Muss sein.

Es gibt einige Motherboards, die ECC unterstützen. Sie sind in der Regel am "oberen" Ende der Dinge, aber mit ein wenig Recherche können Sie sie von verschiedenen Herstellern finden. Die einzige andere Überlegung ist, sich daran zu erinnern, die ECC-Unterstützung im BIOS zu aktivieren.


Google ist zu diesem Thema auf den Plan getreten. Unter http://blogs.zdnet.com/storage/?p=638 erfahren Sie, wie sich dies auf moderne Systeme auswirkt.

Avery Payne
quelle
8
"Kleine Whitebox-Server, die ich ohne ECC gebaut habe, haben früher oder später" Probleme "entwickelt, die einen Neustart erforderten" - das ist ein bisschen apokryphisch / Voodoo-Computing für meinen Geschmack.
Jeff Atwood
4
Und du denkst, ich bin mir dessen nicht bewusst? Wie sonst können Sie dieselbe Software auf derselben Hardware mit seltsamen Problemen erklären (E-Mail wird falsch zugestellt), aber die Probleme lösen sich von selbst, nachdem Sie den gesamten Arbeitsspeicher ersetzt haben? Die Idee gefällt mir auch nicht, aber angesichts der Tatsache, dass es die einzige wichtige Komponente war, die geändert werden musste, und der Tatsache, dass die Probleme nach dem ECC-Upgrade verschwunden sind , fällt es schwer, sie zu ignorieren ...
Avery Payne,
1
Ich vergaß auch zu erwähnen - der RAM wurde einmal vor dem ECC-Upgrade ersetzt und das Problem blieb bestehen. Vielleicht war es eine schlechte Spur auf dem Mobo. Vielleicht war es ein Designfehler in der Platine. Ich denke, im Nachhinein hätte es viele andere Probleme geben können, für die jeweils ein EE herauskommen und einen Bereich untersuchen müsste, aber am Ende des Tages ließ die ECC das Problem verschwinden, wenn auch aus keinem anderen Grund als zum Stellen Sie sicher, dass die aus dem RAM abgerufenen Daten zu 100% konsistent sind. Jeff, ich stimme zu, dass es Voodoo ist ... Ich mag es nicht, aber da ist es.
Avery Payne
1
@ Jeff Atwood - nun ja ... es stellte sich schließlich heraus, dass es Voodoo war, in dem Sinne, dass Sie nicht sehen können, dass dies auf Ihrem Computer passiert ... siehe cs.toronto.edu/~bianca/papers/sigmetrics09.pdf
Avery Payne
6

Ich denke, ECC lohnt sich nur, wenn der Server es erfordert . Wikipedia :

Die Fehlererkennung und -korrektur in Computersystemen scheint in Mode zu kommen. Seymour Cray sagte, "Parität ist für Landwirte", als er gefragt wurde, warum er dies aus dem CDC 6600 herausgelassen habe. Er bezog Parität in den CDC 7600 ein und sagte angeblich: "Ich habe gelernt, dass viele Landwirte Computer kaufen."

Ich kann im Internet keine definitive Quelle finden, außer nebulösen Behauptungen von einem Bit Fehler pro Monat und Gigabyte, was offensichtlich lächerlich ist. Server würden überall auf der Welt abstürzen, wenn dies aus der Ferne zutrifft.

Einige Highlights aus einem MetaFilter-Thread von aktuellen Serveradministratoren:

Ich denke, ECC ist cooles Zeug, aber ich hatte Server mit und ohne, und ich hatte nie das Vorhandensein oder Fehlen von Servern, um irgendetwas zu tun.

Ich verstehe den Zweck von ECC RAM, aber nicht den Punkt. Ich meine, ich habe noch nie ein Problem bemerkt, das sich aus dem Spiegeln von kosmischen Strahlen ergibt. Auch auf Personal Compute / Compile-Servern mit mehrjähriger Betriebszeit. Um nicht zu sagen, dass Bits nicht umgedreht haben, aber sie spielten sicherlich keine Rolle.

Nach meiner Erfahrung, wenn Sie hier und da Farmen mit einigen Tausend Maschinen betreiben, ist es wahrscheinlicher, dass Ext3 unbemerkt über Sie kotzt, als dass Sie ein ECC-korrigierbares Problem haben.

Persönlich denke ich, dass ECC ein bisschen frachtkultig ist, aber es ist eine vernünftige Versicherungspolice auf einem großen, bulligen Server, solange die Kostenprämie nicht zu hoch ist.

Jeff Atwood
quelle
Links und rechts abstürzen? Ich denke nicht, dass es so schlimm wäre. Interessant bezüglich: "Links und rechts abstürzen" ... Beachten Sie jedoch, dass Bitfehler im nicht zugewiesenen Arbeitsspeicher (Lots, auf nicht ausgelasteten Servern) oder im zugewiesenen Arbeitsspeicher auftreten können, der wahrscheinlich nicht ausgeführt oder erneut referenziert wird, bevor er freigegeben und neu zugewiesen wird (z. B. Wenn es einen kleinen Fehler im toten Code gibt, macht es einen Ton?)
Chris W. Rea
Ich frage mich auch, ob Google etwas zu Speicherfehlern zu sagen hat. Sie betreiben eine TONNE Server. Ich frage mich, wie viel Server-Ausfallzeit auf RAM-Fehler zurückzuführen wäre, im Gegensatz zu beispielsweise Netzteilen auf dem Fritz ...
Chris W. Rea
3

Wir haben es für kritische Systeme in Betracht gezogen. Ein Problem wird, wie zum Teufel machen Sie Fehlererkennung in der Software, um Ihre Speicherintegrität zu überprüfen, wenn das Programm zum Ausführen der Speicherintegritätsprüfung selbst anfällig für Speicherfehler sein kann? Dies ist im Grunde nicht möglich und erschwert die Fehlermöglichkeitsanalyse / -minderung. Daher ist ECC ein Mechanismus zur Schadensminderung.

Dies ist einer der Fälle, in denen man bei Problemen die kosmische Strahlung beschuldigen kann ;)

Jason S
quelle
2

Ich würde ECC-RAM für "geschäftskritische" Anwendungen in Betracht ziehen. Wenn Sie aufgrund eines Serverfehlers viel Geld verlieren (oder Menschen töten oder was auch immer), greifen Sie zum ECC-RAM. Wägen Sie im Grunde genommen die Kosten des ECC-Stempels mit denen ab, die Sie im Fehlerfall verlieren können.

Unabhängig von Ihrer Entscheidung empfehle ich, MemTest86 + über Nacht auszuführen (oder so lange, bis mehrere Durchgänge über den gesamten Adressraum durchgeführt wurden). Und wenn Sie die Hitze (im wahrsten Sinne des Wortes) aufdrehen können, erhalten Sie eine Vorstellung davon, wie sich Ihr RAM verhält, wenn das System heiß ist.

Ich habe brandneue RAM-Ausstellungsfehler in MemTest gehabt. Ich habe auch "gute" RAM-Entwicklungsfehler im Laufe der Zeit festgestellt, die MemTest. Es ist ein großartiges Tool und eines der ersten Dinge, die ich auf einem neuen System ausführe.

ijprest
quelle