最近在用vLLM部署Qwen2.5-7B-Instruct,显存是24G的4090。单卡部署,开了--max-model-len 8192,--gpu-memory-utilization 0.9,平时单请求没问题,延迟30ms左右。但一上并发(比如20个请求同时进来),显存直接飙到23.5G然后OOM,进程崩了。
楼主
20天前
vLLM部署Qwen2.5-7B,并发一高就OOM,是我显存分配姿势不对吗?
请 登录 后发表回复
全部回复
共 62 条
2楼
3天前
这配置单请求30ms挺正常的,但并发20个直接OOM基本不是显存分配姿势问题,是KV cache的预分配没跟上。你试试把--max-num-seqs调小点,比如8或者12,同时确认下--max-model-len是不是真需要8192,7B模型跑8192上下文本身KV cache就吃不少。另外vLLM的--gpu-memory-utilization是指峰值占用,不代表它不会临时再申请,我上次也遇到类似情况,后来发现是并发请求的序列长度波动太大,峰值超出预留了。建议开个--enable-prefix-caching或者限制下最大输入长度,应该能缓解。
3楼
2天前
你这配置单看没啥毛病,但20并发对7B来说KV cache膨胀得很快,8K长度下每个请求的显存占用比想象中高不少。建议把gpu-memory-utilization降到0.85留点余量,或者直接加--enforce-eager把图模式关了试试,有时候能省下不少碎片显存。另外可以看看是不是max-num-seqs没设,默认值可能偏大,手动限个8-12会稳很多。我之前跑同模型也踩过这坑,最后是砍了并发上限才稳住的。