問題描述:在跑深度學習算法的時候,發現服務器上只有自己在使用GPU,但使用GPU總是會報RuntimeError: CUDA error: out of memory,這是因為自己之前運行的進程還存在,沒有完全殺死。
解決辦法:執行命令【ps -u】查看當前用戶的進程
(base) duanyongchun:~/pycharm_projects$ ps -u
如圖: 當前0.1兩塊GPU被python進程占用,執行命令【kill -9 進程號(PID)】殺死進程
(base) duanyongchun:~/pycharm_projects$ kill -9 27213
再查看當前進程如圖:
進程被殺死,我們又可以去使用GPU了!
如果我們想要確定當前占用GPU的進程是否是自己發起的進程,我們只需通過執行【nvidia-smi】查詢GPU使用情況,找到PID所屬列,然后再通過【ps -u】查詢自己當前進程,若GPU使用PID與自己當前進程PID相同,則說明GPU是自己占用,殺死進程即可,這樣我們就不會誤殺別人的進程。如圖:
GPU進程:
用戶當前進程: