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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM