在台式PC中使用ECC RAM有一定的或可衡量的优势吗?


21

我在构建稳定的机器方面做了很多 - 因为我绝对讨厌崩溃,重新启动,有趣的行为等等 - 所以纠错也称ECC RAM似乎解决了一个大问题:内存错误。

但它真的有效吗?是否有可衡量的优势,例如减少崩溃或其他行为?

除了成本之外,为什么不将ECC内存用于新的PC构建?为什么ECC功能主要适用于服务器/工作站类机器,而不是面向消费者的主板?


1
是的,ECC对于软错误非常有用。如果内存访问出错,则软错误可能会导致系统崩溃。据报道,单一软错误阻止了数十亿美元的产业。这是对此的详细参考
user984260 2015年

Answers:


10

我已经在服务器上使用ECC ram几年了。当你大量使用你的机器时,ECC真的很闪亮,就像“每天超过12-16小时”一样。我没有使用ECC构建的小型白盒服务器迟早会产生需要重启的“问题”,但ECC机器从未有过这些。

所以,我的回答是:如果你使用你的电脑了很多最有可能的是,那么。如果您全天候使用计算机,那么它应该是必备的。

有一些主板支持ECC。它们通常处于事物的“更高”端,但通过一些研究,您可以从各个制造商处找到它们。唯一的另一个考虑因素是记住在BIOS中启用ECC支持。


谷歌在这个问题上已经出现了问题。 请参阅http://blogs.zdnet.com/storage/?p=638,了解这对现代系统的影响。


8
“我没有使用ECC构建的小型白盒服务器迟早会开发出需要重新启动的”问题“ - 这对我的口味来说有点伪装/伏都教计算...
Jeff Atwood 2009年

4
而你认为我不知道这一点?你怎么能在一个硬件上解释相同的软件有奇怪的问题(邮件被错误传递),但问题你更换所有RAM 自行解决?我也不喜欢这个想法,但鉴于它是唯一可以改变的主要组成部分,并且在ECC升级之后,问题就会消失,好吧,很难忽视......
Avery Payne 2009年

1
我也忘了提到 - 在ECC升级之前RAM被替换了一次并且问题仍然存在。也许这对主板来说是一个糟糕的痕迹。也许这是董事会的设计缺陷。我想事后看来可能还有许多其他问题,每个问题都需要一个EE出来并用范围进行探测,但是在一天结束时,如果没有其他原因,ECC会让问题消失。确保从RAM获取的数据处于100%一致状态。杰夫,我同意这是伏都教......我不喜欢它,但确实如此。
Avery Payne

1
@Jeff Atwood - 好吧......事实证明它毕竟是伏都教,因为你无法在计算机上看到这种情况......请参阅cs.toronto.edu/~bianca/papers/sigmetrics09.pdf
Avery佩恩2009年

6

我认为ECC在服务器需要时值得使用。维基百科

计算机系统中的错误检测和纠正似乎已经过时。Seymour Cray在被问及为什么将其从CDC 6600中删除时,有着名的“农民的平价”。他在CDC 7600中包括平价,据说“我了解到很多农民都购买电脑”。

我无法在互联网上找到一个明确的消息来源,除了每月每千兆字节错误的模糊声称,这显然是荒谬的; 如果这是远程真实的话,服务器将在世界各地左右崩溃。

来自实际服务器管理员的MetaFilter线程的一些亮点:

我认为ECC是很酷的东西,但我有无论有没有服务器,我从来没有做过任何事情。

我理解ECC RAM的目的,但不是重点。我的意思是,我从来没有注意到因宇宙射线位翻转引起的任何问题。甚至在具有多年正常运行时间的个人计算/编译服务器上。并不是说比特没有翻转,但他们肯定没关系。

根据我在这里和那里运行数千台机器的农场的经验,你更有可能让Ext3默默地嘲笑你,而不是有一个ECC可纠正的问题。

就我个人而言,我认为ECC有点疯狂,但只要成本溢价不高,这对于强大的服务器来说是一个合理的保险政策。


左右撞击?我不认为那会那么糟糕。有趣的回答:“左右崩溃”......但请考虑:在未分配的RAM(批次,未充分利用的服务器)或分配的内存中,可能会发生位错误,在释放和重新分配之前,不太可能再次执行或引用(例如如果死码有点错误,它会发出声音吗?)
Chris W. Rea 2009年

我也想知道谷歌是否有任何关于内存错误的说法。他们运行TON服务器。我想知道有多少服务器停机时间可归因于RAM错误,而不是像fritz上的电源那样......
Chris W. Rea 2009年

3

我们已经考虑过它用于关键系统。一个问题变成了,当你用来运行内存完整性检查的程序本身容易出现内存错误时,你如何在软件中进行错误检测来检查你的内存完整性?您基本上不能并且它使故障模式分析/故障缓解变得困难,因此ECC是一种缓解机制。

这是其中一种情况,如果有问题,你实际上可以责怪宇宙射线 ;)


2

我会考虑ECC ram用于“关键任务”应用程序。如果服务器错误会导致您损失大量资金(或杀死人员,或其他任何东西),那么请选择ECC内存。基本上,权衡ECC内存的成本与发生错误时的损失。

但无论你决定什么,我建议在一夜之间运行MemTest86 +(或者足够长,以便在整个地址空间内进行多次传递)。如果你可以调高温度(按字面意思),这将让你了解当系统运行时你的ram将如何运行。

我在MemTest中遇到了全新的RAM展示错误。随着时间的推移,我也发现了“好”的ram开发错误,MemTest检测到了错误。这是一个很棒的工具,也是我在新系统上运行的第一件事。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.