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

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

这是一个提议典型问题关于服务器内存。

我必须购买一台 Dell R420 服务器,它有各种组合(1600 和 1333 MHz RDIMMS 和 UDIMMS)以及性能优化与高级 ECC(带备用和不带备用)。我注意到只有 4gb DIMM 带有 UDIMM,所以我最终将不得不使用 16GB RDIMMS。

这些选项是什么?我需要了解什么?

答案1

服务器 RAM 带有一些常用指标,用于指定其容量和在特定配置下的工作能力。为了混淆这一点,对于本质上相同的东西有不同的名称,并且“标准”名称会根据您使用的 RAM 类型而变化。

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

这很简单;每个人都应该已经熟悉 RAM 有不同容量的概念。特定类型的 RAM 决定了单个内存条的最大容量,但这并不重要,因为实际实现会限制系统可以支持的 RAM 数量(即,查看系统文档以了解其支持的容量)。

RAM 的容量可以按不同的配置进行组织。通常,特定大小的 RAM 只有一个标准配置。如果您从互联网上购买超低价 RAM,请注意,它可能不是标准的(特别是如果他们提到组织),并且不受您的服务器支持。

速度(1600MHz等)

就本回答而言,您希望 RAM 的速度与系统的最大速度相匹配。速度快一倍或有时快两倍的 RAM 也可以正常工作,尽管速度较慢。同样,速度慢一倍或慢两倍的 RAM 也可以正常工作,但速度较慢。

完整性保护(ECC 或非 ECC)

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

当 RAM 具有 ECC 时,可以多次检查该保护信息。最基本的保护仅在读取该内存位置的 RAM 时读取并检查 ECC 数据。更高级的选项允许系统定期检查 ECC。我最常看到的是“内存清理”;它的工作原理与磁盘阵列清理非常相似;与磁盘阵列清理一样,除非有充分的理由禁用它,否则您应该启用它。

ECC 是减少Row Hammer 漏洞

总线电气容量(无缓冲或已寄存)

我们不是电气工程师,所以您真正需要知道的是,缓冲或寄存 RAM 允许系统中的 RAM 比没有缓冲或寄存 RAM 的 RAM 多。与 ECC 一样,这也是系统必须支持的功能。与 ECC 不同,许多新服务器同时支持无缓冲/无寄存 RAM 和缓冲/寄存 RAM。旧服务器往往只支持其中一种。寄存器是一种缓冲区,但这两个术语在应用于 RAM 时可以互换使用。我从未见过可以同时混合无缓冲和寄存 RAM 的系统。

当您看到 UDIMM 时,“U”代表“无缓冲”。RDIMM 中的“R”代表“已注册”。

  • 排名

    已注册 RAM 具有明确定义的电气“使用”特性,以“等级”为单位。系统中的每个 RAM 通道(或总线)都可以在其支持的每个速度下支持一定数量的等级。通常,系统被评定为两种速度(即,通道通常以 X 速度运行,最高可达 A 等级;但如果超过该速度,则以 Y 速度运行;并且最高只能达到 B 等级)。

    有容量和速度相同的 RAM 可用,但占用的等级数不同。通常,容量越大,模块占用的等级越多。低压模块​​占用的等级较少(根据模块的规格)。

脚注

  • 有多种配置选项与您需要为服务器购买的物理 RAM 无关。这些选项包括镜像 RAM(就像 RAID1,但针对 RAM)、备用(字面意思是备用 RAM,如果一个 RAM 出现故障,备用 RAM 会替换它)、计时和相关优化。

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

  • 现代服务器通常具有多个内存通道。这些通道大多独立运行,这将在内存密集型使用场景中提供更大的内存带宽。通常,您应该计划在所有已安装的 CPU 上的所有通道上尽可能均匀地分配内存,以确保最佳性能。 

答案2

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

为了遵守保修和硬件支持合同,您可能需要从供应商处购买正版备件,而不是使用售后内存模块。大多数供应商都会列出其硬件的认证备件,大多数内存制造商也会提供产品选择器,指导您选择适合您的服务器的产品。

一个常见的缺陷是旧服务器不支持新的更大容量的内存模块,而根据其所有其他属性,这些内存模块确实适合并且有望工作。

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

了解你现在拥有什么

一些远程管理控制台(例如 HP 的 ILO)将显示当前内存配置。

Linuxdmidecode -t memory命令将显示主板支持的最大内存量以及有关已填充内存组中存在哪些内存以及哪些内存仍然空的信息。

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

混合不同大小的内存模块

尽管总感觉有些不对劲,但我没有看到任何令人信服的理由表明它本身不好。用户手册确认它是一个受支持的配置,前提是遵守有关内存的所有规则。

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

混合不同速度的内存模块

只要主板支持这些速度,您就可以混合使用不同速度的模块。BIOS 应该找到最小公分母并调节所有模块以相同的速度运行。由于通常更快的内存更昂贵,这似乎有点浪费钱,尽管它确实允许您拆解一些旧系统来升级其他系统。

相关内容