本文将通过真实测试数据,深入解析NVIDIA 5090与4090(48GB)在并发推理场景下的实际表现,并重点展示如何通过系统级调试优化,充分释放显卡的潜在性能。
一、测试环境与方法
本次所有测试均基于 DeepSeek-R1-Distill-Llama-70B 模型,采用 BF16 精度。我们重点关注真实推理吞吐量及稳定性,确保结论具备可复现性。
测试方法
- 模型与精度:DeepSeek-R1-Distill-Llama-70B,BF16。
- 度量口径:测试工具采用 evalscope,评测指标包括首token时延、吞吐量等。
- 输入规模:典型长上下文推理场景,固定prompt长度与采样参数,输入输出长度覆盖 1K到4K。
- 系统环境:同一机房、同一操作系统镜像与驱动程序;功耗墙与散热条件保持一致;关闭除监控外的其他高负载服务。
- 图中数据:仅展示核心指标,完整环境版本与运行日志可按需补充。
二、关键优化步骤:5090 调试前后
近期有客户反馈自己的5090运行速度不够理想,委托老王进行调试。老王借此机会完整记录了调试过程,形成了本次最具代表性的对比实验。以下是调试中发现的“瓶颈”问题,以及对应的优化措施。
1. 开启 CPU 最大性能模式
CPU 默认的 powersa ve 策略会在推理时降频,导致性能波动。必须将其切换为 performance 模式,使CPU始终维持在最高频率。
# 查看 CPU 频率策略(一般默认为 powersa ve)
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
# 切换为 performance,避免频繁降频导致推理阶段抖动
for f in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do
echo performance | sudo tee $f
done
小提示:切换后,建议通过 `cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor` 确认所有核心均已生效。
2. 开启 Resizable BAR(Re-Size BAR)
- 作用:放宽CPU访问GPU显存的窗口,降低主机到显存的数据搬运开销,在大prompt或大KV缓存场景下稳定数据流。
- 建议:在 BIOS 中启用 “Above 4G Decoding” 与 “Resizable BAR”。
- 验证:
# 简单校验(不同平台输出格式略有差异) lspci -vv | grep -i "Resizable BAR" -A1
3. 调整 CPU C-States
- 含义:更深的C-State虽能节能,但可能带来从空闲到满载的唤醒抖动。
- 建议:在governor=performance的前提下,保留 C6 并配合高性能电源策略与中断亲和。实测表明,在我们的机型上,这既能避免频率牺牲,又能减少温度峰值导致的降频回退。
- 若你的平台遇到抖动,可测试“关闭深C-State或保留C6”两组A/B方案,选取抖动更小的一组。
4. GPU 驱动侧常规优化
# 持久化进程,降低首个上下文建立的时延 sudo nvidia-smi -pm 1 # 锁定一致的功耗墙(根据散热与电源能力设定) sudo nvidia-smi -pl# 仅单卡推理可忽略多卡通信;多卡时请统一 PCIe 代际/拓扑
小提示:`
5. 线程与内存优化
- 固定推理服务的线程数与亲和性,避免与系统后台争抢核心。
- 启用透明大页(THP=always 或 madvise)减少页缺失。
- 确保swap不介入热路径。
测试数据
注:调试前后性能差异较大。
三、性能对比结果:5090 vs 4090(48GB)
为了获取对比数据,老王新购了一台搭载8卡48GB版4090的机器。以下是最终测试结果。
专业解读
- 显存带来的结构性收益:48GB显存允许单卡容纳更大的KV Cache与更长的上下文。
- 可使用更大的batch或保持更稳定的kernel形状。
- 避免24GB版本常见的张量并行、页外KV、CPU offload带来的调度与拷贝开销。
- 使Flash-Attention等高效内核能以更大tile、更少重排运行,减少kernel启动与同步次数。
- 实际观感:在长上下文与多会话并发场景下,48GB版4090的吞吐量呈现明显的“台阶式”提升;24GB版则常在容量边缘反复触发重排与内存回收,表现更不稳定。
综合来看,本轮测试中 5090 依然更强,但差距从约2倍缩小到约 1.4倍。这并非48GB显卡“变魔术”,而是更大的显存容量将“工程化的障碍”扫平了(少换页、少拷贝、少同步),硬件算力才能稳定地转化为吞吐量。
四、常见问题解答
问题:同一架马车,车道宽一倍,能否跑得更快?
答案: 能,而且更不容易“剐蹭”。更大的显存(车道)为推理任务提供了更宽敞的“缓冲区”,减少了频繁的“换页”和“拷贝”操作,让GPU的算力能够更稳定、高效地输出。
总结
1. 一台推理服务器 = CPU × GPU × 内存 × 操作系统 × BIOS × 散热 × 供电的联合作品。
2. 少一个环节,就可能把“战马”骑成“驴”。
3. 专业的事情交给专业的人做,否则花一样的钱,只能享受一半的显卡性能。
