pytorch GPU的程序kill后未释放内存

 

使用PyTorch设置多线程(threads)进行数据读取(DataLoader),其实是假的多线程,他是开了N个子进程(PID都连着)进行模拟多线程工作,所以你的程序跑完或者中途kill掉主进程的话,子进程的GPU显存并不会被释放,需要手动一个一个kill才行,具体方法描述如下:

1.先关闭ssh(或者shell)窗口,退出重新登录

2.查看运行在gpu上的所有程序:

fuser -v /dev/nvidia*

3.kill掉所有(连号的)僵尸进程

https://blog.csdn.net/yjl9122/article/details/78920986

    原文作者:pytorch
    原文地址: https://www.cnblogs.com/ymjyqsx/p/10070205.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞