如何找到并杀掉占用显存的僵尸进程

如何找到并杀掉占用显存的僵尸进程

nvitop 命令发现占用显存的僵尸进程

nvitop 命令可以实时监控显卡显存的占用,CPU 的占用,以及占用显卡的进程信息等(如下图)。nvitop 中显示 No Such Process 的进程,且它的 CPU 使用率、内存使用率这一列显示 N/A,说明在 1 号 GPU存在僵尸进程占用了显存。

nvitop 的安装和使用:https://zhuanlan.zhihu.com/p/614024375?utm_id=0

在这里插入图片描述

kill -9 杀掉指定显卡上的所有进程,释放显存

这里不能直接使用 kill -9 杀掉 nvitop 命令上显示的进程号,会报错 No Such Process。原因是在跑深度学习时,往往会启动多个进程,但是当主进程结束的时候,它的子进程没有被正常结束掉,就会导致僵尸进程。而这里 kill 掉的进程是已经结束掉的主进程,主进程已经结束了,所以就会报错 No Such Process

解决方法是找到指定显卡上的所有进程,把这些进程都杀死才能释放显存。需要注意的是由于是杀掉显卡上的所有显存,需要等到没有人正在用这张卡的时候再杀,否则可能把别人正在跑的程序 kill 掉。命令如下,nvidia 后面跟的数字就是需要清理显存的显卡的序号

# 杀掉 1 号显卡的所有进程
fuser -v /dev/nvidia1 | xargs -t -n 1 kill -9

# 杀掉 2 号显卡的所有进程
fuser -v /dev/nvidia2 | xargs -t -n 1 kill -9

执行完发现显存已经释放掉了!!

在这里插入图片描述

  • 11
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值