GPU命令行释放内存

最近实验室搭好了服务器,用SSH连接服务器进行深度学习训练时,网络中断导致模型训练中断。再次连接好服务器时,开始训练总是报GPU的内存不够。用“nvidia-smi”命令查看也看不出运行的程序。

上网搜索了一番才发现可能是GPU资源没有正确释放,占用GPU显存的进程还在服务器上。这个时候就是认为查出占用GPU显存的进程然后杀死进程。

  1. 查看占用GPU的进程及ID

    fuser -v /dev/nvidia*
    
占用GPU显存的进程
  1. 杀死占用GPU显存的进程

    kill -9 pid  # 表示强迫进程立即停止
    kill pid # 也可以终止进程
    
杀死占用GPU显存的进程后
  1. 再次训练就可以开始训练了。