停止训练后报错torch.cuda.OutOfMemoryError: CUDA out of memory. 及查看进程和停止进程

停止训练后遇到 torch.cuda.OutOfMemoryError 错误,意味着你的GPU内存不足,无法分配更多内存给当前的PyTorch操作。查看进程并关闭相关进程就可恢复。

在不同的操作系统中,查看进程的方法有所不同。以下是常见操作系统的命令:

在 Linux 和 macOS 系统中,你可以使用以下几种方法来查看进程:

  1. 使用 ps 命令

    • 显示所有进程:ps aux
    • 显示当前用户的所有进程:ps au
    • 显示与特定命令相关的进程:ps aux | grep "command_name"
  2. 使用 top 命令

    • 这个命令会显示系统中最消耗资源的进程。按 q 键退出。
  3. 使用 htop 命令(需要先安装):

    • sudo apt-get install htop (在 Ubuntu 或 Debian 上)
    • brew install htop (在 macOS 上使用 Homebrew)
    • 运行 htop,它提供了更直观的界面来查看和管理进程。
  4. 使用 pgrep 命令

    • 查找与特定字符串匹配的进程:pgrep "string"
    • 查找运行特定命令的进程:pgrep -f "command_name"
  5. 使用 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的进程,可以按照以下步骤操作:

  1. 恢复进程:如果进程被停止,你可能首先需要恢复它,然后再尝试杀死。使用kill -CONT PID命令来恢复停止的进程。在这个例子中,你应该运行:

    kill -CONT 671

    这将让进程恢复运行状态,然后你才能正常地杀死它。

  2. 杀死进程:一旦进程恢复运行状态,你可以使用kill命令来结束它:

    kill 671

    或者,如果进程没有响应,你可以使用强制结束命令:

    kill -9 671

    这将立即终止进程,无论它是否正在响应。

2.使用ps au

从给出的ps au命令输出来看,进程ID为671的python ./tools/train_net.py进程正在消耗大量的CPU(31.8%)和一定的内存(0.9%),并且它的状态标记为Tl,这表明它是一个被追踪的进程(Traced process)并且可能处于停止状态(Stopped)或等待某个事件(Waiting)。

要结束这个进程,你可以使用kill命令。由于进程671正在消耗大量资源,直接使用kill命令可能不够,因为它可能不会立即响应。因此,使用kill -9来强制结束进程是一个更好的选择。在终端中,你可以按照以下步骤操作:

  1. 强制结束进程:使用kill -9命令来立即结束进程671:

    kill -9 671

    如果你遇到权限问题,可能是因为你没有足够的权限来结束这个进程。在这种情况下,你可以使用sudo来提升权限:

    sudo kill -9 671

    这将强制结束PID为671的进程。

  2. 确认进程已结束:在执行kill命令后,你可以再次运行ps aups aux | grep "python ./tools/train_net.py"来确认进程是否已经被成功结束。

    ps aux | grep "python ./tools/train_net.py"

    如果输出中不再显示PID为671的进程,那么它已经被成功结束了。

请注意,使用kill -9是一个非常强力的操作,它会立即终止进程而不给进程任何机会去清理资源或保存状态。因此,在使用kill -9之前,请确保你确实想要结束这个进程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值