#1 楼
对于Nvidia GPU,有一个工具nvidia-smi
可以显示内存使用情况,GPU利用率和GPU温度。还有一个计算过程列表和更多选项,但是我的图形卡(GeForce 9600 GT)不完全受支持。Sun May 13 20:02:49 2012
+------------------------------------------------------+
| NVIDIA-SMI 3.295.40 Driver Version: 295.40 |
|-------------------------------+----------------------+----------------------+
| Nb. Name | Bus Id Disp. | Volatile ECC SB / DB |
| Fan Temp Power Usage /Cap | Memory Usage | GPU Util. Compute M. |
|===============================+======================+======================|
| 0. GeForce 9600 GT | 0000:01:00.0 N/A | N/A N/A |
| 0% 51 C N/A N/A / N/A | 90% 459MB / 511MB | N/A Default |
|-------------------------------+----------------------+----------------------|
| Compute processes: GPU Memory |
| GPU PID Process name Usage |
|=============================================================================|
| 0. Not Supported |
+-----------------------------------------------------------------------------+
#2 楼
对于linux,使用nvidia-smi -l 1
会持续为您提供gpu使用情况信息,刷新间隔为1秒。评论
我更喜欢使用watch -n 1 nvidia-smi来获得连续更新,而不会在终端上填满输出
–ali_m
16年1月27日在23:59
使用手表意味着您每秒都要开始一个新的过程以轮询卡。最好做-l,而不是每秒,我建议每分钟或每5分钟一次。
– Mick T
18年4月19日在15:55
以这样的速度启动新流程是否有害?
–瑞奇·罗宾逊(Ricky Robinson)
20-4-17上午10:54
#3 楼
最近,我写了一个简单的命令行实用程序gpustat
(它是nvidia-smi
的包装):请查看https://github.com/wookayin/gpustat。#4 楼
对于英特尔GPU,存在来自http://intellinuxgraphics.org/项目的intel-gpu-tools
,该命令带有命令intel_gpu_top
(还有其他功能)。它与top
和htop
相似,但专门用于Intel GPU。 render busy: 18%: ███▋ render space: 39/131072
bitstream busy: 0%: bitstream space: 0/131072
blitter busy: 28%: █████▋ blitter space: 28/131072
task percent busy
GAM: 33%: ██████▋ vert fetch: 0 (0/sec)
GAFS: 3%: ▋ prim fetch: 0 (0/sec)
VS: 0%: VS invocations: 559188 (150/sec)
SF: 0%: GS invocations: 0 (0/sec)
VF: 0%: GS prims: 0 (0/sec)
DS: 0%: CL invocations: 186396 (50/sec)
CL: 0%: CL prims: 186396 (50/sec)
SOL: 0%: PS invocations: 8191776208 (38576436/sec)
GS: 0%: PS depth pass: 8158502721 (38487525/sec)
HS: 0%:
TE: 0%:
GAFM: 0%:
SVG: 0%:
#5 楼
nvidia-smi
在某些Linux机器上不起作用(许多属性返回N / A)。您可以改用nvidia-settings
(这也是kelcey在他的python脚本中使用的)。nvidia-settings -q GPUUtilization -q useddedicatedgpumemory
还可以使用:
watch -n0.1 "nvidia-settings -q GPUUtilization -q useddedicatedgpumemory"
用于连续监视。
评论
很高兴这不是评论。碰到这个问题时,这正是我要寻找的东西。
–Score_Under
15年6月20日在0:24
谢谢,这对我有用,因为我有GeForce卡,该卡不受nvidia-smi支持。
– alexg
15年12月22日在9:23
您可以执行nvidia-settings -q all来查看可以监视的其他参数。我正在监视GPUCurrentProcessorClockFreqs和GPUCurrentClockFreqs。
– alexg
15年12月22日在9:34
谢谢,查询所有内容的好主意,因为每张卡可能有不同的字符串要监视!
– ruoho ruotsi
16年2月2日在19:08
如果您只想要数字而不是其他(例如conky),请使用:nvidia-settings -q [gpu:0] / UsedDedicatedGPUMemory -t
– hLk
19年8月24日在22:25
#6 楼
对于Linux,我使用我自己编写的类似HTOP的工具。它监视并概述GPU温度以及内核/ VRAM / PCI-E和内存总线使用情况。它不会监视GPU上正在运行的内容。gmonitor
评论
nvidia设置需要运行X11,但并非总是如此。
– Victor Sergienko
17年7月8日在0:57
为我工作没有麻烦!
– Hennadii Madan
17年7月14日在6:29
#7 楼
我有一个GeForce 1060 GTX视频卡,发现以下命令为我提供了有关卡利用率,温度,风扇速度和功耗的信息:$ nvidia-smi --format=csv --query-gpu=power.draw,utilization.gpu,fan.speed,temperature.gpu
您可以看到以下所有查询选项的列表:
$ nvidia-smi --help-query-gpu
评论
值得添加memory.used或(memory.free)。
–佐尔坦
18-09-23在9:10
#8 楼
为了完整起见,AMD有两种选择:fglrx(封闭源驱动程序)。
$ aticonfig --odgc --odgt
mesa(开源驱动程序),您可以使用RadeonTop。
查看GPU利用率,包括总活动百分比和单个块。
评论
我正在使用官方的radeon专有驱动程序,但是aticonfig命令不存在'__')
– Kokizzu
20/07/26在12:11
@Kokizzu已经有7年的历史了,Linux发生了很多变化:)
–kevinf
20年8月26日在2:05
#9 楼
您可以使用nvtop
,它与htop
相似,但适用于NVIDIA GPU。链接:https://github.com/Syllo/nvtop #10 楼
我的进程已终止(可能已终止或崩溃)并继续使用资源,但未在nvidia-smi
中列出。通常这些进程只是占用gpu内存。如果您认为自己有一个进程在GPU上使用资源,而
nvidia-smi
中未显示该进程,则可以尝试运行此命令进行仔细检查。它会告诉您哪些进程正在使用您的GPU。 br />#11 楼
对于OS X包括Mountain Lion
iStat菜单
不包括Mountain Lion
atMonitor
/>
atMonitor支持GPU相关功能的最新版本是atMonitor 2.7.1。
–和2.7.1的链接提供了2.7b。
对于最新版本的应用程序,atMonitor-常见问题解答说明:
为了使atMonitor与MacOS 10.8兼容,我们删除了所有与GPU相关的功能。 br />
我在Mountain Lion上使用MacBookPro5,2和NVIDIA GeForce 9600M GT在2.7b aka 2.7.1上进行了实验。该应用程序在退出前运行了几秒钟,显示了温度但没有显示使用情况:
#12 楼
Glances有一个显示GPU使用率和内存使用情况的插件。http://glances.readthedocs.io/en/stable/aoa/gpu.html
使用nvidia-ml-py3库:https://pypi.python.org/pypi/nvidia-ml-py3
#13 楼
对于Linux上的nvidia,我使用以下python脚本,该脚本使用可选的延迟并重复执行类似iostat和vmstathttps://gist.github.com/matpalm/9c0c7c6a6f3681a0d39d
$ gpu_stat.py 1 2
{"util":{"PCIe":"0", "memory":"10", "video":"0", "graphics":"11"}, "used_mem":"161", "time": 1424839016}
{"util":{"PCIe":"0", "memory":"10", "video":"0", "graphics":"9"}, "used_mem":"161", "time":1424839018}
#14 楼
以下函数将信息(例如PID,用户名,CPU使用率,内存使用率,GPU内存使用率,程序参数和正在GPU上运行的进程的运行时间)附加到nvidia-smi
的输出中:function better-nvidia-smi () {
nvidia-smi
join -1 1 -2 3 \
<(nvidia-smi --query-compute-apps=pid,used_memory \
--format=csv \
| sed "s/ //g" | sed "s/,/ /g" \
| awk 'NR<=1 {print toupper($ better-nvidia-smi
Fri Sep 29 16:52:58 2017
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 378.13 Driver Version: 378.13 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GT 730 Off | 0000:01:00.0 N/A | N/A |
| 32% 49C P8 N/A / N/A | 872MiB / 976MiB | N/A Default |
+-------------------------------+----------------------+----------------------+
| 1 Graphics Device Off | 0000:06:00.0 Off | N/A |
| 23% 35C P8 17W / 250W | 199MiB / 11172MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 Not Supported |
| 1 5113 C python 187MiB |
+-----------------------------------------------------------------------------+
PID USED_GPU_MEMORY[MIB] USER PGRP %CPU %MEM TIME COMMAND
9178 187MiB tmborn 9175 129 2.6 04:32:19 ../path/to/python script.py args 42
)} NR>1 {print q4312078q}' \
| sed "/\[NotSupported\]/d" \
| awk 'NR<=1{print q4312078q;next}{print q4312078q| "sort -k1"}') \
<(ps -a -o user,pgrp,pid,pcpu,pmem,time,command \
| awk 'NR<=1{print q4312078q;next}{print q4312078q| "sort -k3"}') \
| column -t
}
示例输出:
q4312078q
评论
小心点,我认为ps给出的pmem不会考虑GPU的总内存,但会考虑CPU的总内存,因为ps不了解“ Nvidia GPU”
–SebMa
18年5月29日在14:09
#15 楼
您可以使用nvidia-smi pmon -i 0
监视GPU 0中的每个进程。包括计算/图形模式,sm使用率,内存使用率,编码器使用率,解码器使用率。
#16 楼
该脚本更具可读性,旨在用于简单的mod和扩展。您可以使用自己喜欢的终端窗口程序替换gnome-terminal。 />
许可证:GNU GPLv2,TranSeed Research
#17 楼
我没有在可用的答案中看到它(可能在评论中除外),所以我想补充一下,您可以使用nvidia-smi
获得更好的刷新watch
。每次更新都会刷新屏幕,而不是不断滚动。watch -n 1 nvidia-smi
进行一秒钟的间隔更新。将
1
替换为任意值,包括小数秒:watch -n 5 nvidia-smi
watch -n 0.1 nvidia-smi
评论
我的ION芯片也没有显示使用情况。 :/
–拉斐尔
2012年6月10日22:15
观看-n 0.5 nvidia-smi,将保持输出更新,而不会在终端上填充输出。
–酒吧
16年7月14日在18:26
@Bar好提示。观看-d -n 0.5 nvidia-smi会更好。
–zeekvfu
18年1月17日在16:27
@zeekvfu我认为最好解释一下-d标志的作用
– donlucacorleone
18-10-10在14:41
@donlucacorleone男士手表告诉我们-d标志突出显示输出之间的差异,因此它可以帮助突出显示哪些度量随时间变化。
–大卫·卡钦斯基(David Kaczynski)
18-10-21在2:56