您会在工作站中使用ECC RAM吗?


Answers:


25

当东西被存储到RAM中,最终从RAM中取出时,自然会发生一些损坏(理论有所不同,但目前权重最大的是计算机本身的EMI)。ECC是RAM和主板的一项功能,可以检测和更正此损坏。

损坏通常很小(ECC通常可以检测并修复每个64位“字”中的1-2位,这超出了典型的错误率),但是随着RAM密度的增加,频率会增加。您的普通工作站/ PC永远不会注意到它。在要在提供关键服务的高需求环境中运行高密度RAM 24/7的服务器上,您应采取一切可能的步骤来防止数据中断。

另请注意,主板必须支持ECC RAM,而普通的工作站/ PC不支持它。

ECC RAM比非ECC更昂贵,对时钟速度更敏感,并且可能导致很小的性能下降(1-2%)。如果有帮助,可以使用类比的方法将RAM设置为RAID控制器。在您的PC上,芯片组内置的硬件辅助软件RAID可以很好地防止单磁盘故障。在服务器上,这永远是不够的。您需要带有电池内置RAM的高端,电池供电的全硬件RAID,以确保不会因断电,磁盘故障等原因丢失数据。

所以不,您的工作站实际上不需要ECC RAM。好处根本无法证明价格合理。


2
正如在Basil Bourque的答案中所指出的那样,这些天价格已经趋同(当我最近看时,对于相同的可用RAM量,价格差是您期望的额外芯片面积的〜10%)。 。有鉴于此,特别值得回顾一下最后一句话。
CVn 2015年

10

如果本文没有其他内容,则应使用ECC RAM。

这不仅仅是“我不运行服务器,所以我不需要它”的问题。这取决于您对数据的重视程度。这不仅仅是偶然崩溃的问题-问题是您可能会变得腐败并且无法知道它正在发生。


3
摘自文章:“ [...] 4 GB RAM在没有ECC RAM的情况下三天内有96%的几率出现​​错误”。听起来计算机应该经常崩溃,并且数据应该一直被破坏。但是,如果没有ECC,每个人似乎都做得很好……为什么?
Calimo 2015年

1
这是因为关于错误率,该文章是错误的。实际错误率降低了多个数量级。请参阅相关的reddit的线程reddit.com/r/programming/comments/ayleb/...
mimrock

不管错误率是多少,也取决于受影响的因素。很有可能不是导致系统崩溃的原因。
sudo

8

随着内存大小的增加,ECC RAM变得越来越有趣。带有8GB RAM的机器中出现单个位错误的可能性比640K PC / XT时代要高得多,这仅仅是因为位数更大。在该RAM可能位于磁盘缓冲区中的数据库服务器上,位错误也会破坏磁盘存储。通常,您希望在服务器上使用ECC内存。

一些工作站(尤其是具有Xeon或Opteron CPU的工作站)占用已注册的内存,无论如何,这些内存几乎仅以ECC形式出现。在台式机上,您可能会认为它是多余的。


4

ECC RAM旨在帮助防止和修复基于内存的错误,通常使用某种汉明码或模块化冗余。这在包含重要数据或需要高可用性的服务器中非常有用,但这要付出一定的代价。

尽管可能值得为您的重要服务器支付额外的费用,但您是否真的想为台式机支付这笔费用,如果偶尔出现内存错误,这有关系吗?如果您的SQL数据库在事务期间删除了一些数据,那当然很重要,但是您是否关心word文档是否受到轻微的内存泄漏的影响?


4

如果您需要可靠的工作站,则需要ECC RAM。它不会经常崩溃,并且在它上面完成的工作以及缓存在RAM中的文档不会被随机破坏。


4
改善稳定性的机会似乎很小。我所知道的唯一与RAM相关的崩溃是由于RAM错误或应用程序错误所致,而ECC绝对无法避免。在服务器上,您需要不断地处理TB级数据,这在某种意义上(读:仍然只有一点点),但是在工作站上,可能唯一接近的是高端图形渲染或视频处理。简而言之,我认为您可以在没有ECC RAM的情况下获得完全可靠的工作站。
克里斯·索普

我整夜运行memtest86几次,没有任何错误。这就是内存翻转发生的频率...如果生命依赖它,那将证明使用ECC是合理的,否则我认为99.9%的情况不是真正的问题。每月有1个随机位命中TB级重要数据的可能性很小。
inf3rno

Ofc。ZFS是一个例外。
inf3rno

1
@ inf3rno那个论点?一夜之间什么都没有。海拔很重要。我住在科罗拉多州,在ECC系统上每月都会看到一些可纠正的错误。从ECC系统返回日志,否则您没有信息。另请阅读Google关于ECC错误的报告。
Zan Lynx


4

与上面提到的相比,ECC的另一个好处是您可以检测到错误的RAM。虽然运行长时间的memtest86会话通常会发现任何问题,但RAM可能存在非常特殊的问题,在某些情况下这种情况很少出现。与完美的ECC RAM旨在防止的损坏相比,这种情况的发生频率可能​​要高得多-也许每月一次。因此,如果您安装监视软件,则可以确保您的RAM正常,或者更换损坏的芯片。仍然是微不足道的好处,但是由于ECC内存并不比普通RAM贵很多,所以它值得。


1

由于价格下降,现在ECC存储器的成本与非ECC存储器大致相同。因此,请检查价格;如果价格接近,请在工作站容纳的情况下购买ECC。


1

我认为仅根据问题的标题可能会有一些混淆。

如果您只是说普通的台式机,那通常是基于甚至不支持ECC的平台。

如果您的意思是工作站级计算机,那么无论您是否在乎,它都很可能带有ECC内存。
总体而言,工作站类通常基本上基于服务器硬件,但具有适当的图形并以不同的外形进行包装。

与台式机相比,预期的工作量也更加繁重,因此,如果您承认ECC对服务器有意义,那么我认为ECC对工作站也很有意义。

对于台式机,是否存在ECC是否有意义尚有争议。绝对可以说所有事物都应该具有ECC,但是,由于行业已决定使ECC成为区分高端硬件的功能,因此目前尚不可行。


0

根据Zan Lynx在评论中链接的文章:狂放的DRAM错误:大规模现场研究,不可纠正的错误很常见,而系统中很少出现随机可纠正的错误。发病率可能是一年中的几次,但这取决于使用情况。

因此,在服务器环境中,可纠正的错误可能并不那么重要,但是您很少引导服务器计算机,因此,在一段时间内可能无法检测到由RAM失败引起的不可纠正的错误,从而损坏了数据。我认为这是服务器需要ECC的主要原因。工作站会启动,因此要经常检查RAM,因此每次重新启动都可以检测到硬件故障。如果该频率足以满足您的业务需求,那么我认为您的工作站将不需要ECC RAM。

如果我们在谈论内存错误,最好在服务器上对重要文档进行版本控制。因此,如果工作站读取并修改了某些内容,则原始内容不应在服务器上被覆盖。常规备份可以为您做同样的事情。

这个问题的另一方面是安全性。如果您的工作站连接到任何非安全网络,则它可能容易受到行锤攻击的攻击,从而利用DRAM相关现象。因此,从安全角度来看,最好使用ECC RAM。

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.