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

PyTorch CUDA报错:torch.cuda.is_available()为True但提示设备忙或不可用

临时修复方案(无需重启系统)

  • 先排查GPU残留占用:执行nvidia-smi查看所有占用GPU的进程,若存在无用的僵尸/残留进程,执行kill -9 <进程PID>杀掉对应进程后重试。
  • 若未找到占用进程,尝试重置GPU设备:执行nvidia-smi -r重置所有GPU,或指定单卡重置nvidia-smi -i <GPU编号> -r。
  • 重置无效的话,重新加载NVIDIA内核模块(需root权限):
rmmod nvidia_uvm
rmmod nvidia_drm
rmmod nvidia_modeset
rmmod nvidia
modprobe nvidia
modprobe nvidia_modeset
modprobe nvidia_drm
modprobe nvidia_uvm

永久规避方案

  • 开启NVIDIA持久化守护进程,避免GPU闲置进入低功耗状态后触发异常:
systemctl enable nvidia-persistenced
systemctl start nvidia-persistenced
  • 确认版本匹配:分别执行nvcc --version和nvidia-smi查看CUDA运行时版本、驱动支持的最高CUDA版本,保证PyTorch依赖的CUDA版本不高于驱动支持的最高版本。
  • 优化nvidia_uvm内核模块参数:在/etc/modprobe.d/nvidia.conf文件中添加如下配置,之后执行dracut -f重建启动镜像,重启生效:
options nvidia_uvm uvm_global_block_size=2MB
  • 若为多用户共享GPU服务器,排查cgroup权限限制、其他用户的显存占用预留,避免当前用户无可用显存配额。

调试方法

复现问题时,在运行命令前添加CUDA_LAUNCH_BLOCKING=1环境变量,即可获得更准确的错误栈,便于定位触发异常的具体操作:

CUDA_LAUNCH_BLOCKING=1 python3 你的脚本路径.py

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 17:45:03