首页/AI/大模型部署与运维速查/上线前 OOM 检查表

上线前 OOM 检查表

上线前逐项列账:权重(按精度与 TP 折减)、KV(按 P95 长度 × 目标并发)、工作区预留、同卡其它进程、加载阶段内存与磁盘、以及启动日志的 KV 容量核对。

上线前的 OOM 检查表

上线前把显存的账逐项列出来:权重(按精度与切分折减)、KV(按 P95 长度乘目标并发)、工作区预留、同卡其它进程占用、加载阶段的主机内存与磁盘、以及启动日志里报告的 KV 容量。列完再压测到目标并发,两道关都过才上线。

基本信息

权重精度乘参数量,多卡按切分折减
KVP95 长度乘目标并发
工作区按比例预留
同卡进程监控与其它服务的占用
核对启动日志里的 KV 容量

典型使用场景

  • 新模型上线前的容量评审
  • 扩容方案提交前的自检
  • 排查「压测正常、上线就 OOM」
  • 交接时作为标准化清单复用
  • 把检查表与启动日志一起归档,形成可回溯的发布记录
  • 把每次 OOM 的触发条件补进检查表

检查表

检查表
# □ 权重:精度 × 参数量,多卡按切分折减
# □ KV:P95 长度 × 目标并发
# □ 工作区:按比例预留
# □ 同卡进程与监控占用
# □ 启动日志的 KV 容量 vs 自己的估算值

容易漏的三处

项目容易漏的点后果
权重精度转换缓冲加载阶段就失败
KV长尾请求长度压测通过后仍然 OOM
工作区大 batch 抬升峰值只在特定配置复现
检查表走完还要压测到目标并发:静态估算与动态表现常有差距,两道关都过才上线。
启动日志里的 KV 容量是现成的现实校准:与自己的估算对照,偏差大就说明前面某一步的假设出了问题,先回头查它。
把上一次 OOM 的原因补进检查表:同类问题重复出现的概率最高,检查表应该随时间变厚。
检查表要留档或有人确认:走过场式的检查在真实压力下通常不会被执行。
把估算过程留痕:复盘时能看出偏差出在哪一步,而不是只留下一个结论。

易错点

  • 跳过加载阶段检查:主机内存与磁盘问题会伪装成「模型加载失败」,方向一开始就错
  • 按平均长度算 KV:长尾请求才是真正触发 OOM 的那一批
  • 检查表只做一次:模型、长度结构与并发目标变化后必须重做
  • 估算与实测不对照:不读启动日志的 KV 容量,等于放弃现成的校准数据
  • 只在本地估算不压测:静态的账算得再细,也代替不了真实并发下的表现

数据来源与参考

  • vLLM 官方文档:显存调优(docs.vllm.ai)
  • NVIDIA 数据中心部署指南(docs.nvidia.com/datacenter)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌