首页/AI/大模型部署与运维速查/CUDA OOM 排查:从止损到根因
运维监控与排障50 条

CUDA OOM 排查:从止损到根因

推理服务报显存不足的排查顺序:先读报错原文分辨物理占用还是分配器缓存,再核对该卡是否被其他进程占用,最后按并发、序列长度、量化三个方向收敛修复。

取证

取证
nvidia-smi --query-gpu=index,memory.used,memory.total --format=csv
nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv
grep -i -m5 'out of memory' server.log
  • 止损:调低 --max-num-seqs / --gpu-memory-utilization,或收短 max-model-len 后重启
  • 核对:同卡是否有训练、Notebook 等进程残留占显存
  • 根治:量化降权、张量并行扩卡、限制输入与输出长度
重启回收的是碎片与缓存;若 OOM 周期性复发,按根因处理而不是重启了事。

易错点

  • 只把 gpu_memory_utilization 调低就收工:若是别的进程占卡,排队等待也解决不了 OOM

数据来源与参考

  • PyTorch 官方文档:CUDA semantics 与显存管理(docs.pytorch.org)
  • vLLM 官方文档:Conserving Memory(docs.vllm.ai)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌