0x01 前言

前几天我通过hpsmh发现有一条内存条坏了,整个内存系统运行在降级模式(Degraded Mode)。还发现内存频率一直维持在800Mhz,而我的内存是4GB DDR3 1333。

为什么内存不是在1333频率下运行?还好我找到了DL380 G6的PDF文档。

0x02 修正

当时hpsmh提示错误的时候没截图,但还好iLO有记录:

1474287210

错误的内存位于CPU1的内存插槽1(下图中CPU1内存系统的插槽G)中:

1474287583

我想应该是该条内存的某个颗粒坏了而导致的错误。而后通过更换内存条,这个错误就被消除了。

0x03 频率

首先这台服务器支持的DIMM频率如下:

  •  Single-rank 和 dual-rank PC3-10600 (DDR-1333)可以工作在1333 和 1066 MHz
  •  Quad-rank PC3-8500 (DDR-1067)可工作在1066 MHz

但实际的工作频率还要根据服务器中安装的内存数量和服务器BIOS的设置来决定。要继续的话,就需要了解内存条上的标签究竟是什么意思,下图是我服务器里其中一条内存的标签:

1474288644

下面是内存示意图:

1474289038

下面是图解:

|----------------------------------------------------------|
| Item | Description  | Definition                         |
|----------------------------------------------------------|
| 1    | Size         | —                                  |
|----------------------------------------------------------|
| 2    | Rank         | 1R = Single-rank                   |
|      |              | 2R = Dual-rank                     |
|      |              | 4R = Quad-rank                     |
|----------------------------------------------------------|
| 3    | Data width   | x4 = 4-bit                         |
|      |              | x8 = 8-bit                         |
|----------------------------------------------------------|
| 4    | Memory speed | 10600 = 1333-MHz                   |
|      |              | 8500 = 1066-MHz                    |
|----------------------------------------------------------|
| 5    | DIMM type    | R = RDIMM (registered)             |
|      |              | E = UDIMM (unbuffered with ECC)    |
|----------------------------------------------------------|

由上面的图片和解释得出,我的内存条是支持在1333Mhz频率下工作的,那么为什么hpsmh却显示是工作在800Mhz频率?

1474290400

DL380 G6每个CPU有三个内存通道,每个通道支持3条内存。在使用Quad-rank内存条的情况下只支持每个CPU使用2条通道,而只用Single-rank 或 dual-rank的内存条可以完全使用3条通道。

在不同CPU数和不同类型内存的情况下,支持的最大内存容量也是不一样的,下表示以单条8GB为基础列表:

+-----------------+----------------------+------------------+
| Rank            | Single-processor     | Dual-processor   |
+-----------------+----------------------+------------------+
| Single-rank     | 72 GB                | 144 GB           |
+-----------------+----------------------+------------------+
| Dual-rank       | 72 GB                | 144 GB           |
+-----------------+----------------------+------------------+
| Quad-rank       | 48 GB                | 96 GB            |
+-----------------+----------------------+------------------+

在使用了不同插槽数和不同内存类型的情况下,工作频率也是不一样的,具体如下表:

+-----------------+----------------------+------------------+
| Populated slots | Rank                 | Speeds supported |
| (per channel)   |                      | (MHz)            |
+-----------------+----------------------+------------------+
| 1               | Single- or dual-rank | 1333, 1066       |
+-----------------+----------------------+------------------+
| 1               | Quad-rank            | 1066             |
+-----------------+----------------------+------------------+
| 2               | Single- or dual-rank | 1066             |
+-----------------+----------------------+------------------+
| 3               | Single- or dual-rank | 800              |
+-----------------+----------------------+------------------+

而我的服务器使用了3条通道,一共插满了18条内存,一共是72GB。依照上表,我的内存是工作在800MHz频率下。

0x04 结语

服务器还真复杂,但还好我找到了重要的技术文档。因为我的服务器是淘宝上买的二手货,而且也是4年前的机器了,国内网站和HP的官方网站早已找不到有效可用的资料。想了解更多这类知识还是得靠Google。

0x05 相关视频

  • EP5 – 为DL380 G6安装内存 CPU与配置磁盘阵列

https://www.bilibili.com/video/av10510617/