首页 > 系统相关 >停止训练后报错torch.cuda.OutOfMemoryError: CUDA out of memory. 及查看进程和停止进程

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

时间:2024-10-09 14:50:25浏览次数:10  
标签:ps 671 kill 命令 停止 使用 进程 报错

停止训练后遇到 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之前,请确保你确实想要结束这个进程。

标签:ps,671,kill,命令,停止,使用,进程,报错
From: https://blog.csdn.net/KIKI3666/article/details/142786358

相关文章

  • 调用sdapi/v1/txt2img接口,报错“Couldn‘t load custom C++ ops”
    后端启动stable_diffusion的api接口nohuppythonlaunch.py --use-cpuall--skip-torch-cuda-test   --api--api-log  --listen--server-name192.168.1.204>/home/third_party_app/llm/stable-diffusion-webui/logs/all.log2>&1 &服务接口http://192.168......
  • nacos gateway 调用服务报错503 Server unavailable
    环境springboot3jdk17依赖<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency><dependency><groupId>org.springframe......
  • springboot-网站开发-thymeleaf引擎报错找不到指定的页面模板文件
    springboot-网站开发-thymeleaf引擎报错找不到指定的页面模板文件!这种错误的情况,发生,一般都是因为,我们自己的html模板文件,存档位置并不是在默认的templates下面。而是我们自己新建的一个子目录里面。然后,我们在java代码里面,控制器方法体内,return,返回模板的时候,我们多写了一个......
  • CentOS 8 停止维护后通过 rpm 包手动安装 docker
    根据Docker官方文档的指引,进入Dockerrpm包下载的地址,根据自己系统的架构和具体版本选择对应的路径这里我使用https://download.docker.com/linux/centos/7/x86_64/stable版本,根据docker官方的给出的安装命令选择性的下载对应的rpm包最终使用yum命令安装下载好的......
  • C# WebService返回参数为DataTable报错“XML文档有错误”
    该问题由于DataTable列存在自定义类型。解决该报错需要以下几步:1、自定义类型增加xml序列化2、由于C#从XML反序列化DataSet或DataTable时的默认限制,所以需要先把调用方的项目开放限制,如果是.netframework项目,需要在app.config中添加<configuration><runtime>......
  • 安装VUE报错
    今年在安装脚手架的时候使用命令:npminstall-g@vue/cli发现报错:requesttohttps://registry.npm.taobao.org/@vue%2fclifailed,reason:certificatehasexpired证书已过期,查看了下旧的地址已经不适用了 接解决办法:1、查看下当前的下载源:npmconfiggetregistry2.设......
  • uniapp - HBuilderX运行到内置浏览器编译报错 ublic static TextAppearance_Holo_Smal
    前言网上的教程都无法解决问题,本文提供强力解决方案。在uniappH5网页开发中,报错提示:ublicstaticTextAppearance_Holo_Small:number;|SyntaxError:Unexpectedidentifier,非常恶心的错误,手机H5网站项目点击运行到内置浏览器后,瞬间报错且无法编译提示已停止运行,H5......
  • CentOS报错:Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&
    CentOS报错:Couldnotretrievemirrorlisthttp://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock32errorwas14:curl#6-"Couldnotresolvehost:mirrorlist.centos.org;Unknownerror"关于CentOS报错:Couldnotretrievemirr......
  • mysql数据库1045报错怎么解决
    遇到MySQL数据库 1045 报错(访问被拒绝,用户名或密码错误),可以通过以下步骤解决:1.确认用户名和密码检查用户名和密码:确认在连接数据库时输入的用户名和密码是否正确。尝试在命令行中连接数据库,确认是否能成功登录:bash mysql-uyour_username-p2.重置密码......
  • 深入理解Linux进程调度(下)
    一、SMP管理在继续讲解之前,我们先来说一下多CPU管理(这里的CPU是指逻辑CPU,在很多语境中CPU都是默认指的逻辑CPU,物理CPU要特别强调是物理CPU)。最开始的时候计算机都是单CPU的,叫做UP(Uni-Processor),操作系统也只支持UP。后来计算机慢慢发展成了多CPU(包括多物理CPU和多核技术),于是......