You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用VLLM后GPU显存无法释放,如何解决重启LLM时的OOM问题?

彻底释放VLLM占用的GPU显存方案

一、显式关闭VLLM引擎资源

VLLM的LLM实例内部维护了GPU推理引擎与后台线程,仅删除对象无法完全释放底层资源,需先主动关闭引擎:

# 检查并关闭VLLM引擎
if 'llm' in locals():
    llm.engine.shutdown()
    del llm

二、强制垃圾回收+清理Torch缓存

完成引擎关闭与对象删除后,触发Python垃圾回收并清空Torch的CUDA缓存:

import gc
import torch

gc.collect()
torch.cuda.empty_cache()

注意:必须按「删除对象→垃圾回收→缓存清理」的顺序执行,否则无法彻底释放资源

三、排查显存残留(可选)

执行以下命令查看显存使用详情,定位是否还有未释放的资源:

print(torch.cuda.memory_summary(device=None, abbreviated=False))

四、重启Jupyter内核(终极方案)

如果上述方法仍无效,说明Jupyter进程中存在Python垃圾回收无法处理的C层面残留资源,直接重启Jupyter内核即可完全清空GPU显存占用。

额外注意事项

  • 避免在同一单元格重复初始化LLM实例,每次初始化前必须执行完整的释放流程
  • 若使用VLLM的Ray后端,需额外执行ray.shutdown()释放Ray占用的GPU资源

内容的提问来源于stack exchange,提问作者Zachary Schwehr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 09:25:57