Linux Ubuntu释放指定GPU的显存占用

发现机器上某个GPU一直内存被占用着,也不知道被什么占用的,无法跑程序。除了重启,还有没有别的办法?

有。定点清除:

1,定位占用的进程PID
$ sudo fuser -v /dev/nvidia*
# 会显示gpu和对应的进程占用列表。/dev/nvidia2代表第三块GPU

# 输出例如:
# ...
#/dev/nvidia2:        root       5493 F.... Xorg
#                     root       5613 F.... nvidia-persiste
#                     proc1  23443 F...m python
#                     proc2  23454 F...m python
#                     proc3  23456 F...m python
# ...


2,查看该进程proc1, proc2, proc3是什么时候运行的,做什么用的。以proc1为例:
2.1 提升权限到root,这一步非必须。但是如果$ sudo ll 命令提示权限不足时,有必要先提升权限。因为你要看的进程可能是别的用户启动的。
$ su
2.2 查看进程在干什么
# ll /proc/23443
或者
$ sudo ll /proc/23443

# 输出例如:
# ...
# lrwxrwxrwx   1 user1 user1 0 Mar 18 10:19 cwd -> /home/user1/project1/
# lrwxrwxrwx   1 user1 user1 0 Mar 18 10:19 exe -> /home/user1/anaconda3/envs/tensorflow/bin/python3.6*
# ...

# 可以发现这个进程是user1在3月18日启动的,运行的目录是在/home/user1/project1/,是用python3.6执行的。


3,确定以上占用的进程没有用后,终止掉
# kill 23443
或
$ sudo kill 23443

4,如果第2步中登陆了root的话,最后退出root用户
# exit

这就完成了占用GPU的程序的定点清除。此时你再用nvidia-smi看指定的gpu(上例中是第三块GPU),显存占用已经降下来了

 

非常感谢:https://blog.csdn.net/liangdong2014/article/details/78860661

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值