我们即将安装一个内存密集型应用程序,并为其购买一台服务器。该服务器将至少有 4 个 CPU,具有多个核心。虽然该应用程序占用大量内存,但我们采访的顾问表示 32GB 应该足够了。他们还说,如果我添加更多的内存,服务器会因为连接所有内存的“额外线路”而变慢。我不打算在硬件上安装虚拟机,所以我不需要额外的内存来为虚拟机分区。但我担心 32GB 可能不够。
顾问的说法“超出需要的内存会降低机器速度”,正确吗?
答案1
我没有听说过“额外布线”这个术语,但向内存通道添加更多等级可能会降低其速度。服务器上应该有涵盖内存配置的文档,包括支持哪种总线速度以及每个总线上的等级数量。速度在大约 3 到 4 个等级后下降是很常见的。
也可以看看:
答案2
在我看来,这位顾问是在吹牛。要么就是他们没有资格成为 IT 顾问。根据我的经验,添加更多内存唯一一次导致速度变慢的情况是在 x86(32 位)系统上超过 3.5 GB(即从 2 GB 到 4 GB 或更多),这需要不同的内存寻址方案。如果您从 32 GB RAM 开始,那么增加到 64 GB 不会减慢任何速度。
答案3
根据服务器的具体规格,当插入额外的模块时,内存总线的时钟可能会降低(尽管“额外布线”是废话)。具体来说,最大内存时钟速度取决于每个通道中的等级数。
内存控制器具有特定的驱动能力,例如,以全速运行多达四个等级,以较慢一个时钟步长运行多达六个等级,以较慢两个时钟步长运行多达八个等级。
使用缓冲 DIMM(RDIMM 或 LRDIMM)时,规则会发生变化 - 它们会减轻控制器的总线负载,因此可以使用更多模块,或者可以将相同数量的模块时钟频率提高(对于支持多种类型的服务器,通常不会混合使用)。请查看服务器手册以了解具体限制。
因此,购买 RAM 时您应该寻找最少数量的 DIMM 和等级以及良好的缓冲。
但是,内存时钟速度的影响会因应用程序或工作负载的不同而有很大差异。当内存不足并开始交换时,您会很乐意牺牲由于内存速度降低而导致的轻微速度下降,以换取由于交换而导致的大幅速度下降 - 这可能比最慢的内存慢 100 倍。