gpustat
比nvidia-smi更简洁?
注意:这只适用于NVIDIA显卡,目前不支持AMD。欢迎贡献!
自我推广:gpustat
的网页界面现已推出(alpha版)!查看gpustat-web。
快速安装
从[PyPI][pypi_gpustat]安装:
pip install gpustat
如果没有root(sudo)权限,请尝试在用户命名空间安装gpustat
:pip install --user gpustat
。
通过pip安装最新版本(master分支):
pip install git+https://github.com/wookayin/gpustat.git@master
NVIDIA驱动和pynvml
要求
[!重要] 不要:
pip install pynvml
,也不要在你的Python项目中包含[pynvml
][pypi_wrong]作为依赖。这样做是无效的。正确做法:
pip install nvidia-ml-py
。[nvidia-ml-py][pypi_pynvml]是NVIDIA官方的NVML Python绑定。
- gpustat 1.2+:需要
nvidia-ml-py >= 12.535.108
([#161][gh-issue-161]) - gpustat 1.0+:需要NVIDIA驱动450.00或更高版本,以及
nvidia-ml-py >= 11.450.129
。 - 如果你的NVIDIA驱动太旧,可以使用旧版的
gpustat
(pip install gpustat<1.0
)。详见[#107][gh-issue-107]。
Python要求
- gpustat<1.0:兼容Python 2.7和>=3.4
- gpustat 1.0:[Python >= 3.4][gh-issue-66]
- gpustat 1.1:Python >= 3.6
使用方法
$ gpustat
选项(请查看gpustat --help
获取更多详情):
--color
: 强制彩色输出(即使stdout不是tty)--no-color
: 禁用彩色输出-u
,--show-user
: 显示进程所有者的用户名-c
,--show-cmd
: 显示进程名-f
,--show-full-cmd
: 显示运行进程的完整命令和CPU统计信息-p
,--show-pid
: 显示进程的PID-F
,--show-fan
: 显示GPU风扇速度-e
,--show-codec
: 显示编码器和/或解码器使用率-P
,--show-power
: 显示GPU功率使用和/或限制(draw
或draw,limit
)-a
,--show-all
: 显示上述所有GPU属性--id
: 仅针对指定索引的GPU进行查询(例如--id 0,1,2
)--no-processes
: 不显示进程信息(用户、内存)([#133][gh-issue-133])--watch
,-i
,--interval
: 以监视模式运行(相当于watch gpustat
)。表示更新间隔。--json
: JSON输出([#10][gh-issue-10])--print-completion (bash|zsh|tcsh)
: 打印shell补全脚本。使用方法见[#131][gh-issue-131]。
小贴士
- 如果出现问题,尝试
gpustat --debug
。 - 要定期监视,尝试
gpustat --watch
或gpustat -i
([#41][gh-issue-41])。- 对于旧版本,可以使用
watch --color -n1.0 gpustat --color
。
- 对于旧版本,可以使用
- 运行
nvidia-smi daemon
(需要root权限)将使查询GPU更快且消耗更少的CPU([#54][gh-issue-54])。 gpustat
(和nvidia-smi
)显示的GPU ID(索引)是PCI总线ID, 而CUDA默认使用不同的排序(将最快的GPU分配最低ID)。 因此,为确保CUDA和gpustat
使用相同的GPU索引, 请在设置CUDA程序的CUDA_VISIBLE_DEVICES
之前, 将CUDA_DEVICE_ORDER
环境变量配置为PCI_BUS_ID
:export CUDA_DEVICE_ORDER=PCI_BUS_ID
。
默认显示
[0] GeForce GTX Titan X | 77°C, 96 % | 11848 / 12287 MB | python/52046(11821M)
[0]
:GPU索引(从0开始)作为PCI_BUS_IDGeForce GTX Titan X
:GPU名称77°C
:GPU温度(摄氏度)96 %
:GPU利用率11848 / 12287 MB
:GPU内存使用情况(已用 / 总量)python/...
:GPU上运行的进程,所有者/命令行/PID(及其GPU内存使用量)