如何在WSL2中使用CUDA清理NVIDIA GPU显存?
WSL2环境下PyTorch训练中断后GPU显存未释放的解决办法
针对你在WSL2中遇到的PyTorch训练中断后RTX 3080Ti显存无法释放的问题,以下是几个无需物理重启系统的可行方案:
强制终止WSL2关联进程
打开Windows任务管理器,筛选出所有与WSL相关的进程(包括wsl.exe、发行版对应的进程如Ubuntu.exe,以及后台的vmmem进程),右键选择“结束任务”强制终止。之后在Windows命令提示符执行wsl --shutdown,再重新启动WSL环境。通过Windows端清理显存占用进程
在Windows命令提示符运行nvidia-smi,找到占用GPU显存的进程PID(WSL2内的进程在Windows端会显示为关联的系统进程),执行taskkill /F /PID <目标PID>强制终止该进程,释放显存。重置WSL2的GPU虚拟化关联
在Windows PowerShell中执行wsl --unregister <你的WSL发行版名称>(例如wsl --unregister Ubuntu),完成后重新安装或导入对应的WSL发行版。此操作会清除WSL系统内的所有数据,执行前请做好备份。应急训练方案
如果需要立即继续训练,可在PyTorch代码中添加显存限制:torch.cuda.set_per_process_memory_fraction(0.7, device=0) # 限制当前进程使用70%的GPU显存避免残留显存占用影响新训练任务。
内容的提问来源于stack exchange,提问作者Python
相关产品推荐
相关产品推荐

