购买服务器内存之前需要了解哪些RAM选项?

这是关于服务器内存的一个build议规范问题 。

我必须购买戴尔R420服务器,并有各种组合(1600和1333 MHz的RDIMMS和UDIMMS)和性能优化与高级ECC有和没有保留。 我注意到,UDIMM只有4GB的DIMM,所以我会仔细地去找16GB的RDIMMS。

什么是这些选项,我需要知道些什么?

内存服务器的RAM有一些通用的指标来指定它的能力和能力,在一个特定的configuration工作。 为了解决这个问题,对于本质上相同的事物,有不同的名称,“标准”名称会根据您使用的RAMtypes而改变。

容量(1GB,4GB,32GB等)

这很容易, 大家应该已经熟悉了RAM不同能力的概念。 RAM的具体types决定了单个棒的最大尺寸,但这是不相关的,因为实际的实现限制了系统可以支持的RAM的数量(即检查系统的文档以查看它支持的容量)。

RAM的容量可以按不同的configuration进行组织。 通常只有一个标准configuration的RAM的一定大小。 如果你从互联网上购买超便宜的内存,应该警告说它可能是非标准的(特别是如果他们提到这个组织),而你的服务器不支持。

速度(1600MHz等)

为了达到本答案的目的,您希望RAM的速度与系统的最大速度相匹配。 内存是一个或有时两个“速度”更快将工作,虽然速度较低。 同样的,一个或两个“速度”较慢的RAM也可以工作,速度也较低。

完整性保护(ECC或非ECC)

ECC是完整性保护的最常见forms(即,确保宇宙射线不会翻转任何位并且没有任何存储器位置变差)。 在大多数系统中,无论系统需要什么,RAM都必须是ECC或非ECC。 有时这被称为72位存储器(从64个存储器数据通道中得到8个位的边缘的数据总线旁边的一个误称)。

当RAM具有ECC时,可以在各种时间检查该保护信息。 只有在读取该内存位置的RAM时,最基本的保护才能读取和检查ECC数据。 更高级的选项允许系统定期检查ECC。 我经常见到这个叫做“记忆擦洗”的东西。 它很像磁盘arrays擦洗; 和磁盘arrays擦洗一样,除非有足够的理由禁用它,否则应该启用它。

ECC是减less行槌故障影响的步骤之一。

总线电容(无缓冲或注册)

我们不是电气工程师,所以你真正需要知道的是,缓冲或者注册RAM在系统中允许有更多的RAM。 与ECC一样,这是系统必须支持的。 与ECC不同,许多新服务器都支持无缓冲/未注册和缓冲/注册RAM。 旧的服务器往往只支持一个或另一个。 寄存器是一种缓冲器,但是这些术语在应用于RAM时可以互换使用。 我从来没有看到一个系统可以同时混合无缓冲和注册。

当你看到UDIMM时,“U”是“Unbuffered”。 RDIMM中的“R”是“已注册”。

  • 行列

    已登记的RAM具有明确定义的电子“使用”特性,以“等级”表示。 系统中的每个RAM通道(或总线)在其支持的每个速度下都可以支持很多级别。 通常情况下,系统的额定速度为两种速度(即通道以X速度正常运行,最高A级;但如果超过此速度则为Y速度,且只能达到B级)。

    有相同的容量和速度的RAM,但占用不同数量的等级。 通常情况下,容量越多,模块占用的排名就越多。 低电压模块占据较less的等级(根据模块的规格)。

脚注

  • 有多种configuration选项与您需要为服务器购买的物理RAM无关。 这些包括镜像RAM(就像RAID1,但是用于RAM),节省空间(实际上是备用RAM,如果一个坏的备用替代它),定时和相关的优化。

  • 现代服务器通常将内存控制器集成到CPU中,而不是单独的北桥芯片。 这意味着支持多个CPU的系统必须安装对应于内存插槽的CPU插槽才能使用该插槽。 类似地,一些CPU需要在其插槽中安装存储器以供系统工作。 有关详细信息,请参阅系统文档。

  • 现代服务器通常有多个内存通道。 这些通道主要独立运行,这将在内存密集的使用场景中提供更大的内存带宽。 一般而言,您应该计划在所有填充的CPU上的所有通道上均匀分配内存,以确保最佳性能。

升级现有服务器的内存时,您应该首先确认您现在安装了哪些内存模块,以及(主板)供应商和BIOS实际上支持哪些额外/新增/replace模块。

为了遵守保修和硬件支持合同,您可能需要从供应商那里购买真正的备件,而不是使用市场内存模块。 大多数供应商列出了其硬件的authentication备件,大多数内存制造商也有产品select器,指导您使用适合您的服务器的产品。

一个常见的错误是,旧的服务器不支持新的更大容量的内存模块,基于其他所有的属性确实适合并且预计将工作。

最常见的方法是填充当前空的内存组,而不是升级到更大的内存模块。 注意您不能填充分配给空的CPU插槽的内存组。

找出你现在拥有的东西

HP的ILO等一些远程pipe理控制台将显示当前的内存configuration。

Linux dmidecode -t memory命令将显示主板支持的最大内存量,以及有关存储在存储体中的内存以及哪些内存仍为空的信息。

对于Windows系统,WMI应该提供与wmic MemoryChip相似的信息。

混合不同大小的内存模块

虽然总觉得有点不对劲,但我还没有看到有什么令人信服的理由,这本身就是坏事。 所有者手册确认它是受支持的configuration,只要所有关于内存的规则都得到遵守。

在多CP​​Uconfiguration中,您需要一个平衡的内存configuration,其中每个CPU在相同的内存通道上具有相同数量的内存:例如,在2个CPUconfiguration中,您可以在插槽A1中具有2 GB,在插槽A2中具有4 GB,只要镜像在第二个CPU中,插槽B1中2 GB,插槽B2中4 Gb。

混合不同速度的内存模块

只要主板支持这些速度,就可以混合使用不同速度的模块。 BIOS应该find最低的公分母,并规定所有模块以相同的速度运行。 由于通常更快的内存更昂贵,这似乎是一个小的浪费,虽然它可以让你蚕食一些较旧的系统来升级其他系统。