Answers:
服务器的RAM具有一些通用指标,用于指定其在特定配置中的容量和工作能力。为了避免混淆,本质上相同的东西使用了不同的名称,“标准”名称根据您所使用的RAM类型而变化。
这很容易。每个人都应该已经熟悉RAM具有不同容量的概念。特定类型的RAM确定单个棒的最大大小,但这无关紧要,因为实际的实现方式限制了系统可以支持的RAM数量(即,查看系统文档以查看其支持的容量)。
RAM的容量可以按不同的配置进行组织。通常,只有一定大小的RAM的一种标准配置。如果要从Internet购买超便宜的RAM,则警告它可能是非标准的(尤其是在他们提到组织的情况下),并且服务器不支持。
就本答案而言,您希望RAM的速度与系统的最大速度相匹配。速度快一到两个“速度”的RAM也可以工作,尽管速度更低。同样,慢一两个“速度”的RAM也可以工作,但速度也较小。
ECC是完整性保护的最常见形式(即,确保宇宙射线不会翻转任何位并且没有内存位置变坏)。在大多数系统中,无论系统需要什么,RAM都必须是ECC或非ECC。有时,这被称为72位存储器(从64个存储器数据通道中遗留的不当用语,沿着数据总线获得8位ECC)。
当RAM具有ECC时,可以多次检查该保护信息。仅当读取该内存位置的RAM时,最基本的保护才读取并检查ECC数据。更多高级选项使系统可以定期检查ECC。我最经常见到的是这种称为“内存清理”的内容。它的工作原理类似于磁盘阵列清理;就像磁盘阵列清理一样,除非有充分的理由将其禁用,否则应将其启用。
ECC是减少Row Hammer错误影响的步骤之一。
我们不是电气工程师,所以您真正需要知道的是,缓冲的或注册的RAM允许系统中的RAM比没有RAM的更多。像ECC一样,这是系统必须支持的东西。与ECC不同,许多新服务器都支持Unbuffered / Unregistered和Buffered / Registered RAM。较旧的服务器往往仅支持其中一个。寄存器是缓冲区的一种,但是当应用于RAM时,这些术语可以互换使用。我从未见过可以同时混用未缓冲和已注册的系统。
当您看到UDIMM时,“ U”表示“未缓冲”。RDIMM中的“ R”为“已注册”。
等级
注册的RAM具有定义明确的电气“使用”特性,以“等级”计量。系统中的每个RAM通道(或总线)可以以其支持的每种速度支持如此多的等级。通常,系统的额定速度为两种速度(即,通道通常以X速度运行,最高可达A级;但如果超过该速度,则以Y速度运行;最多只能达到B级)。
有可用的具有相同容量和速度的RAM,但占用的行数不同。通常,容量越大,模块占用的排名就越高。低压模块占用的排名较少(根据模块的规格)。
有多种配置选项与您需要为服务器购买的物理RAM无关。其中包括镜像RAM(就像RAID1一样,但用于RAM),备用(字面上的备用RAM,如果坏了,备用将替换它),定时和相关的优化。
现代服务器通常将内存控制器集成到CPU中,而不是单独的北桥芯片。这意味着支持多个CPU的系统必须装有对应于内存插槽的CPU插槽才能使用该插槽。同样,某些CPU要求在其插槽中填充内存以使系统正常工作。有关详细信息,请参见系统文档。
现代服务器通常具有多个内存通道。这些通道大多独立运行,这将在占用大量内存的使用场景中提供更大的内存带宽。通常,您应该计划在所有填充的CPU的所有通道上尽可能均匀地分配内存,以确保最佳性能。
升级现有服务器的内存时,您可能应该先确认您现在安装的内存模块以及(主板)供应商和BIOS实际支持的额外/新/替换模块。
为了遵守保修和您的硬件支持合同,您可能需要从供应商那里购买正品备件,而不要使用售后内存模块。大多数供应商列出了其硬件的经过认证的备件,并且大多数内存制造商还具有产品选择器,可将您引导至应与服务器一起使用的产品。
一个常见的陷阱是,较旧的服务器不支持新的更大容量的内存模块,基于它们的所有其他属性,它们确实适合并且可以正常工作。
最常见的方法是填充当前空的内存库,而不是升级到更大尺寸的内存模块。 注意:您不能填充分配给空CPU插槽的存储体。
找出你现在拥有的
诸如HP的ILO之类的某些远程管理控制台将显示当前的内存配置。
Linux dmidecode -t memory
命令将显示主板支持的最大内存量,以及有关已填充内存库中存在哪些内存以及哪些仍为空的信息。
对于Windows系统,WMI应该提供带有类似信息wmic MemoryChip
。
混合不同大小的内存模块
尽管总感觉有些不对劲,但我还没有看到任何令人信服的理由,它本身就是不好的。如果遵守有关内存的所有规则,则用户手册将确认它是受支持的配置。
在多CPU配置中,您需要一个平衡的内存配置,其中每个CPU在相同的内存通道上具有相同的内存量:即,在2 CPU配置中,您可以在插槽A1中有2 GB,在插槽A2中有4 GB,只要在第二个CPU中进行镜像,在B1插槽中为2 GB,在B2插槽中为4 Gb。
混合不同速度的内存模块
您可以混合使用不同速度的模块,只要主板支持这些速度即可。BIOS应该找到最低的公分母,并调节所有模块以相同的速度运行。由于通常更快的内存通常更昂贵,因此虽然可以让您蚕食某些较旧的系统来升级其他系统,但这似乎是一点钱的浪费。