停止训练后遇到 torch.cuda.OutOfMemoryError
错误,意味着你的GPU内存不足,无法分配更多内存给当前的PyTorch操作。查看进程并关闭相关进程就可恢复。
在不同的操作系统中,查看进程的方法有所不同。以下是常见操作系统的命令:
在 Linux 和 macOS 系统中,你可以使用以下几种方法来查看进程:
使用
ps
命令:
- 显示所有进程:
ps aux
- 显示当前用户的所有进程:
ps au
- 显示与特定命令相关的进程:
ps aux | grep "command_name"
使用
top
命令:
- 这个命令会显示系统中最消耗资源的进程。按
q
键退出。使用
htop
命令(需要先安装):
sudo apt-get install htop
(在 Ubuntu 或 Debian 上)brew install htop
(在 macOS 上使用 Homebrew)- 运行
htop
,它提供了更直观的界面来查看和管理进程。使用
pgrep
命令:
- 查找与特定字符串匹配的进程:
pgrep "string"
- 查找运行特定命令的进程:
pgrep -f "command_name"
使用
kill
命令:
- 如果你想结束某个进程,可以先用
pgrep
找到进程 ID,然后使用kill
命令:kill PID
1.使用top命令:
从提供的
top
命令输出中,我们可以看到系统当前的运行状态和各个进程的信息。其中,PID为671的进程是由myuser
用户运行的Python程序,占用的虚拟内存(VIRT)大约是45.1GB,实际使用的物理内存(RES)大约是4.9GB,状态标记为T,表示它处于停止状态(Stopped)。要关闭这个进程,你可以使用
kill
命令。但是,在这个输出中,你还可以注意到另一个细节,那就是进程671的状态是“T”,这意味着它可能因为某种原因被停止了(例如,接收到SIGSTOP信号)。在这种情况下,直接使用kill
可能无法结束这个进程,因为你可能需要先让它恢复运行状态。如果你想要关闭PID为671的进程,可以按照以下步骤操作:
恢复进程:如果进程被停止,你可能首先需要恢复它,然后再尝试杀死。使用
kill -CONT PID
命令来恢复停止的进程。在这个例子中,你应该运行:kill -CONT 671
这将让进程恢复运行状态,然后你才能正常地杀死它。
杀死进程:一旦进程恢复运行状态,你可以使用
kill
命令来结束它:kill 671
或者,如果进程没有响应,你可以使用强制结束命令:
kill -9 671
这将立即终止进程,无论它是否正在响应。
2.使用ps au
标签:ps,671,kill,命令,停止,使用,进程,报错 From: https://blog.csdn.net/KIKI3666/article/details/142786358从给出的
ps au
命令输出来看,进程ID为671的python ./tools/train_net.py
进程正在消耗大量的CPU(31.8%)和一定的内存(0.9%),并且它的状态标记为Tl,这表明它是一个被追踪的进程(Traced process)并且可能处于停止状态(Stopped)或等待某个事件(Waiting)。要结束这个进程,你可以使用
kill
命令。由于进程671正在消耗大量资源,直接使用kill
命令可能不够,因为它可能不会立即响应。因此,使用kill -9
来强制结束进程是一个更好的选择。在终端中,你可以按照以下步骤操作:
强制结束进程:使用
kill -9
命令来立即结束进程671:kill -9 671
如果你遇到权限问题,可能是因为你没有足够的权限来结束这个进程。在这种情况下,你可以使用
sudo
来提升权限:sudo kill -9 671
这将强制结束PID为671的进程。
确认进程已结束:在执行
kill
命令后,你可以再次运行ps au
或ps aux | grep "python ./tools/train_net.py"
来确认进程是否已经被成功结束。ps aux | grep "python ./tools/train_net.py"
如果输出中不再显示PID为671的进程,那么它已经被成功结束了。
请注意,使用
kill -9
是一个非常强力的操作,它会立即终止进程而不给进程任何机会去清理资源或保存状态。因此,在使用kill -9
之前,请确保你确实想要结束这个进程。