我们在服务器上运行程序时,如果没有通过tmux和nohup把程序挂起,此时我们通过ctrl+z中断程序运行,感觉上程序已经停止运行了,实际上程序还在服务器上运行,只是我们看不到了。
看不到的程序会一直在占着内存,直到程序运行完毕才释放内存,当你再在服务器上运行程序时,可能就会报RuntimeError: CUDA error: out of memory。此时,我们应该怎么办呢?
调小batch_size,可能会有用,也有可能还会报上面的错误。
更好的方法是kill掉运行的程序,通过命令
kill -s 9 进程号
进程号可以通过nvidia-smi查看。
运行完该命令,内存就会被释放出来了。
查资料发现:ctrl+z只是暂停程序,ctrl+c中断程序