赞
踩
在深度学习(基于Pytorch)任务 nohup 后台训练时,可以用nvidia-smi命令查看进程的GPU运行状态,如图
nvidia-smi
当kill掉进程后,发现进程没有了,但是显存依然被占用。这种情况多半是代码中 num_works 的设置大于1导致的。nvidia-smi显示的PID是父进程,那么在kill掉此进程后,子进程仍然在工作。关键问题在于如何找到子进程并终止。
解决办法:
ps -aux
kill $(pgrep -f "python XXX.py --XXX")
为了防止出现此种情况,每次想kill掉进程的时候不要直接 kill,要同时kill掉当前进程与子进程(PID代表进程号):
kill $(pgrep -P PID)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。