如何衡量GPU使用情况?
使用终端中的top
命令列出进程,按CPU使用情况排序(您可以将其更改为按其他参数排序)
GPU有同等效力吗?
这家伙正在询问GPU使用的RAM
- 对于Nvidia GPU,有一个工具nvidia-smi可以显示内存使用情况,GPU利用率和GPU温度。
- 对于Intel GPU,您可以使用intel-gpu-tools 。
-
AMD有两种选择
-
fglrx(闭源驱动程序):
aticonfig --odgc --odgt
- 对于mesa(开源驱动程序),您可以使用RadeonTop 。
-
来源: GPU使用情况监控
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.
供参考:
- 如何记录GPU加载?
- 使用nvidia-smi时,GPU利用率为N / A.
您可以使用gpustat
,它是一个简单的命令行脚本(nvidia-smi的包装器),用于查询和监视GPU状态:
您可以使用监控程序扫视其GPU监控插件:
- 开源
- 安装:
sudo apt-get install -y python-pip; sudo pip install glances[gpu]
sudo apt-get install -y python-pip; sudo pip install glances[gpu]
- 推出:
sudo glances
它还监视CPU,磁盘IO,磁盘空间,网络和其他一些事情:
对于英特尔:
-
安装intel-gpu-tools(可能已经安装了它们)
sudo apt-get install intel-gpu-tools
-
像实用工具一样启动
top
sudo intel_gpu_top
-
检查统计信息,然后按Ctrl + C退出
这就是你得到的:
谢谢@Mitch! 🙂
我使用以下命令:
nvidia-smi -l 2
它每2秒给我一次更新。
要么 :
watch -n0.1 "nvidia-settings -q GPUUtilization -q useddedicatedgpumemory"
在AMD上,使用:
aticonfig --odgc --odgt
Conky的
我喜欢使用conky
作为CPU和GPU的实时监视器。
英特尔i7-6700HQ iGPU HD 530
在这种情况下,我使用集成GPU而不是nVidia GTX 970M启动:
根据是否使用prime-select intel
或prime-select nvidia
启动,适应的代码会适应:
nVidia GPU GTX 970M
在这个例子中,我使用nVidia GTX 970M而不是集成GPU启动:
坚定的代码
最近修改了令人厌恶的代码以自动感知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}