如何衡量GPU使用率?


Answers:


80
  • 对于Nvidia GPU,有一个nvidia-smi工具可以显示内存使用情况,GPU利用率和GPU温度。
  • 对于Intel GPU,您可以使用intel-gpu-tools
  • AMD有两种选择

    1. fglrx(封闭源代码驱动程序):

      aticonfig --odgc --odgt
      
    2. 对于mesa(开源驱动程序),您可以使用RadeonTop 通过软件中心安装

资料来源:GPU使用情况监控


41
使用watch nvidia-smi实时更新。
Lenar Hoyt 2014年

1
aticonfig无法在SSH上运行。声称它需要一台正在运行的X服务器(有一个正在运行)。但是,RadeonTop(sudo apt-get radeontop确实可以与fglrx(需要root)一起使用。欢呼!可悲的是RadeonTop没有提供任何温度读数。
肯·夏普

aticonfig将通过SSH工作,但是启用了tcp的X服务器需要正在运行。这可以通过配置lightdm来完成xserver-allow-tcp=true。使用这些关键字在本网站中进行搜索应可得到结果。
HAL 9001

不知道为什么,但是watch -n 1 nvidia-smi给了我实时更新。watch nvidia-smi有2秒的更新延迟。
markroxor

1
sudo intel_gpu_top应该为您提供英特尔GPU的实时更新。
乔治D

24

Nvidia:要连续更新的输出nvidia-smi,可以使用nvidia-smi --loop=1(刷新间隔为1秒)或nvidia-smi --loop-ms=1000(刷新间隔为1000毫秒)。

   -l SEC, --loop=SEC
       Continuously  report  query data at the specified interval, rather than
       the default of  just  once.   The  application  will  sleep  in-between
       queries.   Note  that on Linux ECC error or XID error events will print
       out during the sleep period if the -x flag was not specified.  Pressing
       Ctrl+C at any time will abort the loop, which will otherwise run indef‐
       initely.  If no argument is specified for the -l form a default  inter‐
       val of 5 seconds is used.

   -lms ms, --loop-ms=ms
       Same as -l,--loop but in milliseconds.

仅供参考:



15

对于英特尔:

  1. 安装intel-gpu-tools(可能已经安装了)

    sudo apt-get install intel-gpu-tools 
    
  2. 使用启动top类似工具

    sudo intel_gpu_top
    
  3. 查看您的统计信息,然后使用Ctrl+ 退出C

那就是你得到的:

在此处输入图片说明

谢谢@米奇!:)


12

您可以通过其 GPU监视插件使用监视程序概览

  • 开源
  • 安装: sudo apt-get install -y python-pip; sudo pip install glances[gpu]
  • 推出: sudo glances

在此处输入图片说明

它还监视CPU,磁盘IO,磁盘空间,网络以及其他一些内容:

在此处输入图片说明


您还需要做pip install nvidia-ml-py3
保罗·威廉姆斯

它也可以在没有sudo和仅适用于用户的情况下工作:pip install --user glances[gpu]然后运行glances
伊万·科夫通

8

康基

我喜欢conky用作CPU和GPU的实时监视器。安装非常简单:

sudo apt install conky

英特尔i7-6700HQ iGPU HD 530

在这种情况下,我使用集成GPU而不是nVidia GTX 970M进行引导:

英特尔GPU.gif

conky代码会根据是否使用prime-select intel或启动进行调整prime-select nvidia

nVidia GPU GTX 970M

在这种情况下,我使用nVidia GTX 970M而不是集成的GPU进行引导:

nVidia GPU.GIF


康基码

最近修改了conky代码,以自动检测GPU。现在,在重新启动到其他GPU时不必手动修改它:

#------------+
# Intel iGPU |
#------------+
${color orange}${hr 1}${if_existing /sys/class/drm/card0/gt_cur_freq_mhz}
${color2}${voffset 5}Intel® Skylake GT2 HD 530 iGPU @${alignr}${color green}
${execpi .001 (cat /sys/class/drm/card0/gt_cur_freq_mhz)} MHz
${color}${goto 13}Min. Freq:${goto 120}${color green}${execpi .001 (cat /sys/class/drm/card0/gt_min_freq_mhz)} MHz${color}${goto 210}Max. Freq:${alignr}${color green}${execpi .001 (cat /sys/class/drm/card0/gt_max_freq_mhz)} MHz
${color orange}${hr 1}${else}
#------------+
# Nvidia GPU |
#------------+
#${color orange}${hr 1}${if_match "${lsmod | grep nvidia_uvm}">""}
${color2}${voffset 5}${execpi .001 (nvidia-smi --query-gpu=gpu_name --format=csv,noheader)} ${color1}@ ${color green}${execpi .001 (nvidia-smi --query-gpu=clocks.sm --format=csv,noheader)} ${alignr}${color1}Temp: ${color green}${execpi .001 (nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader)}°C
${color1}${voffset 5}Ver: ${color green}${execpi .001 (nvidia-smi --query-gpu=driver_version --format=csv,noheader)} ${color1} P-State: ${color green}${execpi .001 (nvidia-smi --query-gpu=pstate --format=csv,noheader)} ${alignr}${color1}BIOS: ${color green}${execpi .001 (nvidia-smi --query-gpu=vbios_version --format=csv,noheader)}
${color1}${voffset 5}GPU:${color green}${execpi .001 (nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader)} ${color1}Ram:${color green}${execpi .001 (nvidia-smi --query-gpu=utilization.memory --format=csv,noheader)} ${color1}Pwr:${color green}${execpi .001 (nvidia-smi --query-gpu=power.draw --format=csv,noheader)} ${alignr}${color1}Freq: ${color green}${execpi .001 (nvidia-smi --query-gpu=clocks.mem --format=csv,noheader)}
${color orange}${hr 1}${endif}

完整的代码清单的不同版本可以在以下答案中找到:


您能否提供安装conky并设置主题以使其像您的Nvidia示例一样的步骤?

@Tak我已使用安装说明和代码的现有链接更新了答案。
WinEunuuchs2Unix

6

我使用以下命令:

nvidia-smi -l 2

每2秒更新一次。

看起来像这样

要么 :

watch -n0.1 "nvidia-settings -q GPUUtilization -q useddedicatedgpumemory"

在AMD上,使用:

aticonfig --odgc --odgt

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.