服务器内存选型实战与第三章小结

第三章前面七篇分别讲了 DRAM 物理基础、DDR 演进、DIMM 形态、ECC、NVDIMM/Optane、HBM、CXL。本篇收口——按业务实际选内存怎么决策,第三章整体小结。

选内存的”四层决策”

graph TB
  Q1[第一层
多大容量?] --> A1[每节点几 GB / 几 TB] Q1 --> Q2[第二层
什么类型 DIMM?] Q2 --> A2[UDIMM / RDIMM / LRDIMM / MRDIMM] Q2 --> Q3[第三层
多少通道、什么频率?] Q3 --> A3[1DPC / 2DPC, DDR5-4800 / 5600 / 6400] Q3 --> Q4[第四层
需要 CXL 扩展吗?] Q4 --> A4[本地够 / 加 CXL / 池化]

第一层:容量

按业务负载估算每节点内存需求:

业务 单节点典型容量
Web/API 32-128 GB
通用虚拟化/容器 256-512 GB
MySQL/PostgreSQL OLTP 256-512 GB
数据仓库 / 列存 512 GB - 2 TB
Redis 缓存 256 GB - 1 TB
Spark/Flink 节点 256-768 GB
SAP HANA / 大型内存 DB 2-12 TB
AI 训练 host(CPU 侧) 1-2 TB(配合 GPU HBM)
AI 推理 256 GB - 1 TB

待补充:根据你公司实际业务调整。

经验法则:内存预算占整机的 30-40% 是常态——服务器内存几乎是 BOM 里最贵的部分(除了 GPU)。

第二层:DIMM 类型

1
2
3
4
PC / 工作站         → UDIMM
通用服务器 → RDIMM
大内存机型 (>1TB) → 3DS RDIMM 或 LRDIMM
AI / 高带宽场景 → MRDIMM(仅 Xeon 6 P)

DIMM 类型不能在同一台机器内混用,下单前确认。

第三层:通道数和频率

关键事实:通道数比频率更影响实际带宽

1
2
3
12 通道 DDR5-4800 = 460 GB/s
8 通道 DDR5-6400 = 410 GB/s
6 通道 DDR5-7200 = 345 GB/s

通道多的总带宽更高,即便频率低一点。所以:

1
2
3
✓ Xeon 6 P (12 通道):插满 12 条
✓ EPYC Genoa/Turin (12 通道):插满 12 条
✓ Xeon SPR/EMR (8 通道):插满 8 条

1DPC vs 2DPC 的取舍

配置 通道带宽 总带宽 容量
1DPC × 12 DDR5-6400 满频 614 GB/s 1.5 TB(128GB×12)
2DPC × 12 DDR5-4800 降频 460 GB/s 3 TB(128GB×24)
1
2
✓ 带宽优先 → 1DPC 满频 + 用 256GB/512GB 大容量条
✓ 容量优先 → 2DPC 降频

DDR5 时代由于信号完整性约束,2DPC 一定降频——这是和 DDR4 时代的最大变化。

频率和颗粒供货

1
2
3
4
DDR5-4800:现货充足、便宜
DDR5-5600:主流、价格中等
DDR5-6400:当前主流服务器最高,溢价
DDR5-8000+:HEDT 已上,服务器仍待普及

待补充:根据当前现货市场调整。

第四层:要不要上 CXL

CXL 内存当前还在早期,决策点:

graph TD
  Q[业务需要超大内存吗?]
  Q -- "≤ 单机本地 DDR 上限" --> A[不要 CXL]
  Q -- "需要 6-12 TB 但本地不够" --> B[考虑 CXL 1.1/2.0 卡]
  Q -- "数据中心整体内存利用率 < 60%" --> C[考虑 CXL 2.0 池化]
  Q -- "AI 推理 KV-Cache 超大" --> D[CXL 内存分层]

普通业务(容量 ≤ 6 TB)暂时用不上 CXL——本地 DDR5 12 通道 × 2DPC × 256GB 已经能给 6 TB。

几个常见的”内存选型坑”

坑 1:通道半插

12 通道平台只插 6/8 条 → 带宽损失 30-50%。

正确:满通道 + 1DPC 起步。预留扩展位再插第二批 2DPC。

坑 2:混用频率/Rank 数

1
2
3
4
插了 1 条 DDR5-6400 + 1 条 DDR5-5600
→ 自动降频到 5600
混插 1Rx8 + 2Rx8
→ 部分平台兼容,但容易触发"non-validated"告警

整批购买同一型号、同一供应商、同一批次最稳妥。

坑 3:忽略 PMIC/RCD 等 IC 厂商

服务器厂商验证表(QVL)里很多型号写”同型号但 IC 不同的不在保”。按 QVL 配,别贪便宜买”白片”或灰色渠道

坑 4:以为 ECC 自动开

部分平台 BIOS 里的 ECC 默认是 disabled——装机后必须确认开启

1
2
3
# Linux 上检查
sudo dmidecode -t memory | grep -i "error correction"
# 应输出:Error Correction Type: Multi-bit ECC

坑 5:低估温度的影响

DDR5 颗粒在 85°C 以上自动降频或重传——服务器进风温度高、机柜密度高时容易触发。

1
2
# 查看 DIMM 温度
ipmitool sensor list | grep -i dimm

DDR5 RDIMM 上自带温度传感器,BMC 可读。

坑 6:买内存只看容量不看带宽

数据库 / 数仓 / HPC:带宽更重要 → 1DPC 满频 + 大容量条
虚拟化 / 容器:容量更重要 → 2DPC 降频 + 中等容量条

一台典型服务器的内存清单

例:双路 EPYC 9554(64 核 × 2,12 通道 × 2 socket = 24 通道)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
方案 A:高带宽优先
24 × 64GB DDR5-6000 RDIMM (1DPC) = 1.5 TB
总带宽 ~1.15 TB/s
适合:HPC、数仓、AI host

方案 B:容量优先
48 × 64GB DDR5-5600 RDIMM (2DPC) = 3 TB
总带宽 ~890 GB/s
适合:虚拟化、内存数据库

方案 C:超大内存
24 × 256GB 3DS RDIMM (1DPC) = 6 TB
总带宽 ~1.15 TB/s
适合:SAP HANA

待补充:实际报价以供应商当时的现货为准。

国产化内存清单的几点提醒

  • DDR5 颗粒:长鑫(CXMT)已量产 DDR4,DDR5 在量产爬坡,对标三星/美光 1y/1z 节点
  • 内存接口芯片:澜起(Montage)的 RCD/DB/MRCD 已经全球前三,国产化无忧
  • DIMM 整条:金泰克、光威、紫光等品牌
  • HBM:基本无国产,AI 厂商最大的卡脖子点

国产化整机器一般顺序是:先换 DIMM 整条 → 接口芯片 → 颗粒 → HBM。

待补充:作者公司内部的国产化采购清单。

一些工具命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 查看物理内存配置
sudo dmidecode -t memory
# 看每条 DIMM 的型号、容量、频率、电压、Rank

# 查看 NUMA 拓扑
numactl --hardware
lscpu

# 查看带宽利用率
sudo perf stat -a -e uncore_imc_*/cas_count_read/,uncore_imc_*/cas_count_write/ sleep 5
# 实际带宽 = (CAS 数 × 64 byte) / 时间

# 测内存带宽(STREAM)
git clone https://github.com/jeffhammond/STREAM
make stream_c.exe
./stream_c.exe

# 测 Latency
git clone https://github.com/intel/lmbench
./bin/x86_64-linux-gnu/lat_mem_rd 8M

# 看 ECC 错误统计
sudo edac-util --report=full
sudo rasdaemon --enable-events all

第三章整体小结

回看第三章覆盖:

  1. DRAM 物理基础 — 1T1C 单元、Bank/Rank/DIMM、tRCD/tCL
  2. DDR 演进 — DDR1→DDR5,子通道拆分,on-die ECC
  3. DIMM 形态 — UDIMM/RDIMM/LRDIMM/MRDIMM
  4. ECC 与可靠性 — Parity/SECDED/Chipkill,page retire
  5. NVDIMM 与 Optane — 持久内存的兴衰,2022 退役
  6. HBM — AI 时代的高带宽内存,三大供应商
  7. CXL — 内存解耦的未来,三阶段演进
  8. 选型与小结(本篇)

几条贯穿全章的主线:

graph LR
  DRAM[DRAM 物理] --> DDR[DDR 标准] --> DIMM[DIMM 实体]
  DIMM --> ECC[ECC 可靠性]
  DDR --> HBM[HBM 高带宽]
  ECC --> Persistent[持久内存]
  Persistent --> CXL[CXL 解耦]
  HBM --> CXL

本质上是同一个问题在不同尺度上解决

  • 单芯片:DRAM 单元怎么变快变密?
  • 单条:颗粒怎么组织、缓冲、纠错?
  • 单机:通道、Rank、NUMA 怎么排?
  • 多机:CXL 怎么把内存解耦出来?

下一章进入第四章:硬盘和存储——HDD 的演进、SSD 的革命、NVMe / SAS / SATA 接口、企业级存储的 RAID 和分布式。