几句话说清楚5:影响服务器内存性能的硬件知识

发挥内存条理财的最大收益率

内存条作为年度最佳理财产品除了能躺着赚钱之外,使用得好还可以一条当两条用。

在计算机系统中,内存的价值就体现在快速提供数据给CPU处理。当CPU需要的数据没有在缓存里时,CPU内部的Memory Controller就需要去内存中读取内容。

Memory Controller为了尽快完成CPU交代的任务,用了多通道的方式增大内存存取带宽。

多通道这个概念很好理解,和多条车道是一个意思。比如CPU需要1MB大小的数据,单通道的话数据就只能在一条通道上老老实实排队;双通道就可以并行两个512KB的读取;四通道就是并行四个256KB的读取。

我知道你要问什么,这1MB大小的数据已经被Memory Controller通过一种叫做Interleave(交织)的技术“打散”在了两个通道或者四个通道对应的物理内存上。Interleave由硬件实现,细节不在这里深究,我们想说明的是发挥这些硬件组件的最大能力需要外界条件配合。

内存在硬件方面的性能优化,就围绕这个主题。

内存相关概念

现在主流Intel E5 CPU的配置是一颗CPU上两个Memory Controller,每个Controller有两个通道,每个通道对应主板上三个内存插槽(DIMM)。

内存插槽

Interleave首先发生在通道层面,进而发生在通道的DIMM层面(使用的DIMM越多,交织得越充分)

同时每根内存条还有一个Rank的概念。这个概念可以理解为更进一步的Interleave,多Rank的内存条可以再进行一次Interleave

看序列号读取内存信息

充分平衡

满足最优的内存配置就是四个字:充分平衡。

-充分:并不是要你插满所有插槽,而是充分利用每个Memory Controller和每条通道
-平衡:每个Memory Controller和通道上的内存配置(Size, Rank和频率)都相同。

在实际应用中,首先绘制一个内存拓扑,如下图:
充分平衡

如何检查是否充分?看一下每个Memory Controller中的每个通道是否都有内存条
如何检查是否平衡?将拓扑图从中垂线对折一次,检查图像是否能重合;再从水平中位线对折一次,检查是否能重合。如果两次回答都是yes,就平衡了。

实例1

平衡不充分

实例2

充分不平衡

实例3

不充分不平衡

实例4

充分平衡

软件检查工具

为了不让每次内存检测都需要打开机箱…有一个开源工具可以通过读取dmidecode的信息自动化做检验:DPDKick

,
© 2020 DecodeZ All Rights Reserved. 本站访客数人次 本站总访问量
Theme by hiero