是否建议将ECC RAM用于工作站,还是仅在服务器中使用的东西?如果非ECC RAM可在PC上使用,为什么我们完全需要ECC RAM?
是否建议将ECC RAM用于工作站,还是仅在服务器中使用的东西?如果非ECC RAM可在PC上使用,为什么我们完全需要ECC RAM?
Answers:
当东西被存储到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。好处根本无法证明价格合理。
如果本文没有其他内容,则应使用ECC RAM。
这不仅仅是“我不运行服务器,所以我不需要它”的问题。这取决于您对数据的重视程度。这不仅仅是偶然崩溃的问题-问题是您可能会变得腐败并且无法知道它正在发生。
随着内存大小的增加,ECC RAM变得越来越有趣。带有8GB RAM的机器中出现单个位错误的可能性比640K PC / XT时代要高得多,这仅仅是因为位数更大。在该RAM可能位于磁盘缓冲区中的数据库服务器上,位错误也会破坏磁盘存储。通常,您希望在服务器上使用ECC内存。
一些工作站(尤其是具有Xeon或Opteron CPU的工作站)占用已注册的内存,无论如何,这些内存几乎仅以ECC形式出现。在台式机上,您可能会认为它是多余的。
如果您需要可靠的工作站,则需要ECC RAM。它不会经常崩溃,并且在它上面完成的工作以及缓存在RAM中的文档不会被随机破坏。
与上面提到的相比,ECC的另一个好处是您可以检测到错误的RAM。虽然运行长时间的memtest86会话通常会发现任何问题,但RAM可能存在非常特殊的问题,在某些情况下这种情况很少出现。与完美的ECC RAM旨在防止的损坏相比,这种情况的发生频率可能要高得多-也许每月一次。因此,如果您安装监视软件,则可以确保您的RAM正常,或者更换损坏的芯片。仍然是微不足道的好处,但是由于ECC内存并不比普通RAM贵很多,所以它值得。
根据Zan Lynx在评论中链接的文章:狂放的DRAM错误:大规模现场研究,不可纠正的错误很常见,而系统中很少出现随机可纠正的错误。发病率可能是一年中的几次,但这取决于使用情况。
因此,在服务器环境中,可纠正的错误可能并不那么重要,但是您很少引导服务器计算机,因此,在一段时间内可能无法检测到由RAM失败引起的不可纠正的错误,从而损坏了数据。我认为这是服务器需要ECC的主要原因。工作站会启动,因此要经常检查RAM,因此每次重新启动都可以检测到硬件故障。如果该频率足以满足您的业务需求,那么我认为您的工作站将不需要ECC RAM。
如果我们在谈论内存错误,最好在服务器上对重要文档进行版本控制。因此,如果工作站读取并修改了某些内容,则原始内容不应在服务器上被覆盖。常规备份可以为您做同样的事情。
这个问题的另一方面是安全性。如果您的工作站连接到任何非安全网络,则它可能容易受到行锤攻击的攻击,从而利用DRAM相关现象。因此,从安全角度来看,最好使用ECC RAM。