vLLM 日志里那些 WARN 到底要不要管:从 OOM 预警到 KV Cache 碎片
vLLM 默认日志级别 INFO,但 WARN 几乎必出。不是所有 WARN 都致命,但有几个是 OOM 前兆,忽略会半夜被叫醒。
必须管的
WARNING kv cache block size insufficient:并发上来后新请求排队,用户感知延迟飙升。调--gpu-memory-utilization从 0.85 提到 0.92,或降--max-model-lenWARNING CUDA OOM:已经在 OOM 边缘,下次请求直接 500。立即降并发或加卡WARNING prefix cache miss rate > 80%:prefix caching 开了但命中率低,说明请求前缀重复度不够,关掉 prefix cache 省显存反而更好
可以观察的
WARNING chunked prefill disabled:长上下文请求会阻塞短请求。开--enable-chunked-prefill,设--max-num-batched-tokens 4096WARNING speculative decoding not available:没配投机解码,不影响正确性,只是少一层加速WARNING tensor parallel rank X communication timeout:TP 通信偶尔抖动,PCIe 机器常见,频率高才处理
可以忽略的
WARNING flash attention not compiled:实际走了 xformers 或 sdpa 后端,性能差 5-10% 但能跑WARNING model architecture not in fast path:走了通用实现,首次推理慢一点,后续缓存后正常
监控建议
把 WARN 级别日志接 Prometheus + Alertmanager,匹配关键词告警:OOM / block insufficient / communication timeout 超阈值才触发,别把所有 WARN 都告警——会告警疲劳直接静音。
推理运维方案:云数方舟 GPU 推理节点