Paddle下训练模型,训练程序停止后GPU未正常释放解决

Paddle下训练模型,训练程序停止后GPU未正常释放解决

  • 摘要 使用PaddleDetection 训练模型,由于程序报错,训练程序停止,查看GPU的使用情况发现使用的显卡无对应运行的程序,但显卡的内存并未正常释放。本博文将对这个问题记录一下解决方案,防止再出现类似的问题。

查看GPU的使用情况

  • 1、运行nvidia-smi
    如图所示,GPU6、GPU7并无运行程序,但其占用率却很高,使用Paddle设置多线程(threads)进行数据读取(DataLoader),其实是假的多线程,他是开了N个子进程(PID都连着)进行模拟多线程工作,所以你的程序跑完或者中途kill掉主进程的话,子进程的GPU显存并不会被释放,需要手动一个一个kill才行。
  • 2、运行fuser -v /dev/nvidia*
    运行指令,得到如下占用程序

杀死僵尸进程

强行关掉所有当前并未执行的僵尸进程,运行命令:

  • 1、kill -9 PID
kill -9 20894 20895 21248 21249 21885 21886 22455 22456 22743 22744 20894 20895 21248 21249 21885 21886 22455 22456 22743 22744
  • 验证
    再次运行程序验证僵尸进程是否杀死
    如图所示:
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值