ubuntu下实时查看GPU使用情况的两种方式(nvidia-smi、gpustat)及结束占用GPU进程的命令

2023-05-16

  要查看gpu占用,这里介绍两个方法,一个是官方的nvidia-smi,装完显卡驱动就能使用了;另一个是gpustat,更方便于查看gpu使用情况。

1 nvidia-smi

  在终端输入命令nvidia-smi,可以查看显卡使用情况:
在这里插入图片描述
  但是,这样只能查看某一时刻的显卡使用情况。为了实时显示显卡的使用情况,可以添加参数。在终端输入命令:

watch -n 5 nvidia-smi

  这样系统就会每隔5秒刷新一次使用情况。这里的5可以依据需要进行修改。
  如上图所示,在下面的虚线框里显示了占用GPU的进程信息。每个进程有一个唯一的PID,如果想关闭掉某个进程,可以使用命令:

sudo kill -9  PID

  比如我这里要结束掉占用GPU内存最大的PID为12713的进程,则执行命令sudo kill -9 12713,然后再查看GPU使用情况,如下图所示:
在这里插入图片描述
  

2 gpustat

  详情及历史版本可以查看github链接,安装方式有如下三种:

pip install gpustat
pip install --user gpustat
pip install git+https://github.com/wookayin/gpustat.git@master

  可以都尝试一下,哪个能成功安装就行。我是用第二个命令安装成功的,第一个和第三个都不行。但是安装完成后提示我没有添加环境变量,如下图所示:
在这里插入图片描述
  所以在命令行使用gpustat的时候显式找不到命令。添加环境变量可以网上直接搜方法,我是在~/.bashrc文件末尾添加了export PATH=$PATH:/home/xxx/.local/bin这里xxx就是上图打码的部分,看你电脑的路径了。完成后保存然后命令行执行source ~/.bashrc即可。
  安装完成后,在命令行输入gpustat即可看到当前gpu的使用情况,如下图所示:
在这里插入图片描述
  每一项的内容含义为:
在这里插入图片描述
  当然,使用gpustat也可以通过watch命令实时查看gpu使用情况,命令如下:

watch -n 1 gpustat    # 每隔1s刷新一次

  

3 两种方式对比

nvidia-smi

  • 显式内容更全面,包括PID(可用于结束进程)
  • 使用格网线,更美观

gpustat

  • 可以清楚看到哪些人哪些任务占用了多少显存(在多人使用同一服务器的情况下很实用)
  • 内容精炼,但是看不到PID

总结就是两种方法各有优劣,在服务器下两者搭配使用效果更佳!

  

4 完整查看所有进程PID方法

  如上所述,如果你需要终止某个进程,你需要首先获知它的PID,而nvidia-smi方法才能看到PID。但是,这种方式通常只能看到有限数量的PID(通常是8个),多余的你就看不到了,如下图所示:
在这里插入图片描述
  那如果我要终止这里没显示出来的一些进程,该怎么查看PID呢?使用如下命令即可:

fuser -v /dev/nvidia*

  显示如下:
在这里插入图片描述
  这里首先分GPU进行进程显示,然后下面的nvidiactl是总的按PID降序进行显示的结果。
  

5 一键杀掉某用户所有进程的方法

  如上所述,如果我同时在后台跑了很多个任务,我现在想将它们全部kill掉。如果通过PID一个个kill,那感觉有点麻烦。要批量kill的话,可以自己写一个脚本,然后将目标PID的进程给kill了。还一种方法是,直接将这个用户的所有进程给kill掉(注意,是该用户运行在GPU上的所有进程,所以如果并不是想全部清空,就不要用这个方法)。
  比如我要kill掉名为xiaoming的用户的所有显存占用,有两种命令,效果是一样的,如下:

pkill -u xiaoming
killall -u xiaoming
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ubuntu下实时查看GPU使用情况的两种方式(nvidia-smi、gpustat)及结束占用GPU进程的命令 的相关文章

  • dump数据库导表线上服务无响应

    有时候 有些场景下 我们需要拷贝线上的数据 进行本地测试 如果你用的是dbeaver工具操作数据库 在拷贝数据库的时候容易导致服务器没响应 看服务正常运行 但是前端访问就是没反应 服务器也没欠费 这是什么情况呢 就是mysql在进行dump
  • 多线程之如何设计线程数量

    创建多少线程合适 xff0c 要看多线程具体的应用场景 一般来说 xff0c 我们可以将程序分为 xff1a CPU密集型程序和I O密集型程序 xff0c 而针对于CPU密集型程序和I O密集型程序 xff0c 其计算最佳线程数的方法是不
  • P1825 [USACO11OPEN]Corn Maze S 题解

    这道题就是一道普通的搜索题 xff0c 非常非常普通 xff0c 普通的不能再普通那种 xff0c 和以前的bfs一样 xff0c 不过这个bfs要注意一个特判 xff0c 当弹出的那个元素的是大写字母的时候 xff0c 要窜梭到对应的大写
  • 向CentOS7虚拟机中复制文件报错error when getting information

    xff08 安装过程中 xff0c 所有询问 xff0c 都是 yes 或者按 Enter 同意默认路径 xff0c 其中的一个要注意的见下图 xff09
  • 程序设计思维与实践week12作业

    文章目录 A 必做题 1 HDU 1029描述输入输出样例想法代码 B 必做题 2 POJ 2251描述输入输出样例想法代码 C 必做题 3 HDU 1024描述东东每个学期都会去寝室接受扫楼的任务 xff0c 并清点每个寝室的人数 输入输
  • nginx安装时/ngx_murmurhash.c:37:11: error: this statement may fall through [-Werror=implicit-fallthroug

    nginx安装时 ngx murmurhash c 37 11 error this statement may fall through Werror 61 implicit fallthroug如图报错 nginx 1 8 objs M
  • vmware如何把虚拟机和本地主机如何设置在同一网段

    我的本地系统是win10系统 xff0c 其它系统方法没试过 xff0c 应该差不多 一 前提是你此时已经安装好了vmware与操作系统了 二 首先在本地系统上操作 xff1a 1 2 3 4 右键该选择查看属性 ip4 不用做其它操作 5
  • 树莓派3B+指南(十五)omxplayer的安装与使用

    omxplayer的安装与使用 需要用python来控制播放视频 xff0c 所以就找到了这个播放器 xff0c 很好用 看了官网文档 xff0c 安装使用都写的比较明白了 官网地址 xff1a https python omxplayer
  • 使用ffmpeg将实时流保存为AVI

    项目中需要将编码器编码出的H264数据保存为avi格式文件 使用ffmpeg接口进行实现 ffmpeg一般是直接打开本地视频文件 如avi mp4等 或者网络视频流 如 xff1a rtmp流媒体等 xff0c 只需要直接将本地视频文件名或
  • 电脑发热严重:禁用独立显卡(Nvidia)/ TLP解决cpu占用率大

    引言 CPU温度经常居高不下 xff0c 每天风扇嗡嗡响 xff0c 尝试过许多办法都没有解决 xff0c 最后用了一个工具 xff0c 并禁用独显 xff0c 明显改善 xff01 1 禁用独立显卡 参考 xff08 真正帮我解决问题的方
  • 网易云音乐网络问题修复 (加载失败)

    问题 网易云一切网络功能正常 xff0c 唯有在线播放时出现问题 xff0c 提示加载失败 问题解决 查看log xff0c 发现是不能建立到m7 music 126 net 原因不知道 联系舍友问能不能听歌 xff0c 舍友说可以 xff
  • ibus-setup-sunpinyin 打不开

    ibus setup sunpinyin 打不开 提示 Traceback most recent call last File 34 usr share ibus sunpinyin setup main py 34 line 42 in
  • 编译原理 Tiny编译器和TM虚拟机

    编译器与解释器的设计流程 编译器前端部分 词法分析 字符流 gt 记号流 词法分析也称作扫描 xff0c 是编译器的第一个步骤 xff0c 词法分析器读入组成源程序的字符流 xff0c 并且将它们组织成为有意义的词素的序列 xff0c 对于
  • Markdown emoji 收藏

    表情符的使用 人物 syntaxpreviewsyntaxpreviewsyntaxpreview bowtie bowtie smile x1f604 laughing x1f606 blush x1f60a smiley x1f603
  • Powershell中解决win10无法打开设置等应用问题

    在powershell中 选择run as administer 输入 Get AppxPackage AllUsers Foreach Add AppxPackage DisableDevelopmentMode Register spa
  • Arduino设计 有害气体检测小车

    有害气体检测小车 从代码已经可以看得出电路应该怎么接了 具体电路就不放上来了 Arduino控制部分代码 span class token macro property span class token directive keyword
  • xpath —— 父子、兄弟、相邻节点定位方式详解

    1 由父节点定位子节点 最简单的肯定就是由父节点定位子节点了 xff0c 我们有很多方法可以定位 xff0c 下面上个例子 xff1a 对以下html代码 span class token tag span class token tag
  • Wireshark Lab: TCP v7.0

    Wireshark Lab TCP v7 0 Answer the following questions by opening the Wireshark captured packet file tcpethereal trace 1
  • org.openqa.selenium.UnableToSetCookieException: unable to set cookie

    1 当尝试添加cookies时抛出selenium unable to set cookie错误 大多情况是在一个webDriver空域 xff08 没有访问任意一个页面 xff09 中添加cookies xff0c 我们要做的就是在赋值c
  • IPC之Posix共享内存详解

    1 概念 共享内存区 xff0c 按标准可分为Posix共享内存区和System V共享内存区 xff0c 两者在概念上类似 Posix 表示可移植操作系统接口 xff08 Portable Operating System Interfa

随机推荐