在linux中查看运行指定进程资源占用(cpu+gpu)

这篇具有很好参考价值的文章主要介绍了在linux中查看运行指定进程资源占用(cpu+gpu)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在运行程序时有时候会需要查看资源占用,以方便部署在其他服务器上时进行参考。以下是总结了我在linux上查找程序进程资源的两种方法(cpu和gpu都有)。

CPU

1. 查找进程号

如果进程较多,输入 ps -ef | grep + 指令关键词 进行搜索。如果运行的是python程序,可以输入 ps -ef | grep python3

比如我想查找所有指令中含hello关键词的进程,输入:ps -ef | grep hello

输出示例:

user      52584  75914  0 13:22 pts/9    00:00:00 docker run -it -p 8887:8887 image_hello:v1
user 	  12345  12345  0 13:21 pts/4    00:00:00 python3 hello.py

其中第二列为pid

2. 查看指定进程号

用top指令查看指定进程(例如我这里查看PID为3833)的进程:

top -p 3833

出现以下内容:

Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
%Cpu(s): 30.8 us, 11.3 sy,  0.0 ni, 55.6 id,  2.2 wa,  0.0 hi,  0.1 si,  0.0 st
KiB Mem : 26359936+total, 10537104 free, 64877176 used, 18818508+buff/cache
KiB Swap:        0 total,        0 free,        0 used. 19780235+avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND             
 12345 root      20   0   11.1g   1.9g 126324 S  1308  0.8 196:31.05 python3  

其中 RES代表运行内存,%CPU代表运行占用多少核。每100为1.0核(1.0c),以上示例为13.08c。

其他参数解释

倒数第二行为参数名称,最后一行是参数内容。以上参数解释如下:

  1. PID:Process ID,进程标识号。这是系统用来唯一标识活动进程的数字。
  2. USER:该进程所属的用户名称或ID。
  3. PR:Priority,进程的优先级。它显示了进程的调度优先级,数字越小代表优先级越高。
  4. NI:Nice value,进程的nice值。这是一个用户设定的优先级值,用来影响进程的调度优先级。正值降低优先级,负值增加优先级。
  5. VIRT:Virtual Memory Size,虚拟内存大小,单位通常是KiB。它包括进程使用的所有可用内存,包括交换空间、设备映射和分配但未使用的内存。
  6. RES:Resident Set Size,常驻内存大小。这是该进程已分配的、位于RAM中的非交换区内存的大小,不包括被交换出去的部分。
  7. SHR:Shared Memory,共享内存大小。指的是可被其他进程共享的内存量。
  8. S:Process Status,进程状态。常见状态有:
    • S (sleeping): 睡眠状态
    • R (running): 运行状态
    • T (stopped): 停止状态
    • Z (zombie): 僵尸状态
  9. %CPU:该进程占用的CPU百分比。
  10. %MEM:该进程占用的物理内存百分比。
  11. TIME+:该进程自启动以来占用的CPU总时间。
  12. COMMAND:启动进程的命令名称或命令行。

GPU

  • 如果是NVIDIA GPU,可以使用 nvidia-smi 命令。它会显示所有NVIDIA GPU的使用情况,包括每个GPU的利用率,以及每个进程的具体GPU使用情况。
  • nvidia-smi 指令示例输出如下:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.32.03    Driver Version: 460.32.03    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce RTX 3080    Off  | 00000000:01:00.0  On |                  N/A |
| 30%   55C    P2    70W / 320W |   5478MiB / 10018MiB |     28%      Default |
+-------------------------------+----------------------+----------------------+
                                                                             
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1569      G   /usr/lib/xorg/Xorg                169MiB |
|    0   N/A  N/A      2410      G   /usr/bin/gnome-shell              106MiB |
|    0   N/A  N/A      4021      C   python3                          5201MiB |
+-----------------------------------------------------------------------------+

Processes部分显示了当前在GPU上运行的进程列表,通常包括进程ID、使用的GPU、使用的内存等信息。通过GPU Memory Usage参数查看每个进程的GPU的显存。

实时监控

nvidia-smi -l 1

这里 1 可以替换为其他数字,代表每x秒刷新一次。文章来源地址https://www.toymoban.com/news/detail-760890.html

Reference

  1. TOP命令参数详解---10分钟学会top用法 - 新盟教育的文章 - 知乎

到了这里,关于在linux中查看运行指定进程资源占用(cpu+gpu)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ubuntu中查看进程并结束进程以查看资源占用命令

    ps命令:可以列出正在运行的进程。ps -e top 显示当前运行程序,动态的。 常用来查看系统资源使用情况和查看占用系统资源最多的进程。top以列形式显示所有的进程,占最多CPU资源的进程会显示在最上面。 Ctrl-C终止 kill:kill命令可以根据进程ID来杀死进程。 可以使用ps -A,

    2024年02月07日
    浏览(49)
  • python实现监控指定进程的CPU利用率、内存占用

            因为需要一直关注被测软件的CPU利用率和内存占用,人工记录十分麻烦,所以想做一个应用程序来代替手工记录。 思路: 1.弹窗,输入进程号 2.获取进程对象 3.日志保存在一个csv文件中,文件命名方式为:进程名+Process+进程号 4.文件第一行写入进程名,第二行表

    2023年04月12日
    浏览(46)
  • gpu没有运行进程,但是显存一直占用

    一般停止进程显存会释放,但是如果在不正常情况关闭进程,可能可能会出现显存不释放的情况: 这时需要找到进程: 可能出现 下载包,使用 这时再使用 找到进程: 或者用 最后使用kill -9 118241杀死进程,释放资源.

    2024年02月15日
    浏览(108)
  • Centos 快速查看占用资源最多的进程

    ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

    2024年02月11日
    浏览(41)
  • Vmmem进程(WSL)占用CPU或内存资源过高的解决办法

            有没有一瞬间,在开启docker或打开虚拟机时,内存瞬间飚增,进行查看进程消耗是一个Vmmem的进程在作祟,那么Vmmem是什么呢,又如何进行限制呢!         Vmmem: 是一个系统合成的虚拟进程,用于表示虚拟机小航的内存和CPU资源。换句话说,您看到的Vmmem消耗

    2024年02月13日
    浏览(77)
  • 查询GPU时无进程运行,但是显存却被占用了

    nvidia-smi 或者 gpustat 无进程在GPU上运行,但GPU显存却被占用了 应该是存在僵尸进程,已经运行完毕或者卡死,但是内存没有释放,处于挂起状态 3.1 方案一 重启电脑 3.2 方案二 如果电脑不能重启,那就通过命令行: 可以看到对应的设备,是有进程的。 最后就用kill命令行杀掉

    2024年02月15日
    浏览(55)
  • (Linux)查看端口占用并关闭进程

    更多请参考:Linux netstat命令 kill 命令将信号发送到指定的进程或进程组,使它们根据该信号进行操作。未指定信号时,默认为 -15 参考:Linux中的Kill命令

    2024年02月17日
    浏览(40)
  • LInux查看CPU GPU温度

    watch -n 1 cat /sys/devices/virtual/thermal/thermal_zone0/temp 这条指令是用于在Linux系统中查看CPU温度的。让我们分析一下这个指令: cat:这是一个常用的Linux命令,用于显示文件的内容。 /sys/class/thermal/thermal_zone0/temp:这是一个特殊的文件路径,它表示系统中的一个温度传感器。thermal_

    2024年02月16日
    浏览(52)
  • Linux查询内存或CPU占用最多的几个进程

    一、可以使用以下命令查使用内存最多的10个进程 方法1: ps -aux | sort -k4nr | head -10 如果是最高的三个,10改为3即可 命令解释:  1. ps:参数a指代all——所有的进程,u指代userid——执行该进程的用户id,x指代显示所有程序,不以终端机来区分。ps -aux的输出格式如下: USER  

    2024年04月17日
    浏览(41)
  • linux中查看占用端口的进程方法

    其中:95115是进程号,mysqld是进程名称 注意:-tlnp和-ltnp 其中:mysqld是进程名称,95115是进程id 其中:mysqld是进程,95115是进程id

    2024年04月10日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包