基于nvidia-smi的GPU信息单机采集器
- 目标
- 程序制式
- 技术基础
- 使用说明
- 备注
1. 目标
在日常开发、调试、测试中,会流连于若干的服务器,有些时候,我们可以依赖于监控设施来记录、反馈、查看、回溯GPU相关的信息,但是很不幸,更多的时候,并没有一套监控机制能够随叫随到,我们只是想运行若干分钟且统计若干分钟,切换一台机器、部署一个服务、运行起来,统计一下。那么,少年,来一个简短的小程序/小工具,拥有它,畅游所有Linux服务器并随时统计你的GPU信息吧。
2. 程序制式
Python文件
3. 技术基础
-
Basic and decent CPython, both python 2 and python 3.
-
Nvidia drivers.
4. 使用说明
usage: gpu_standalone_listener.py [-h] --d [d] [--l [l]]
Process some important options
optional arguments:
-h, --help show this help message and exit
--d [d] duration(s) of statistics
--l [l] delay or interval of sampler, in second
d为必填参数,单位是秒,意为采集的持续时间;
l为选填参数,单位是秒,意为采集延迟或间隔,默认为1s,l应<=d,确保至少采集一次,且nvidia-smi底层毫秒级采集实时性和准确性就较差,因此以秒为基础数量。
需要安装nvidia驱动,并可以正常使用nvidia-smi
> python gpu_standalone_listener.py --d 30 --l 1
或者直接安装python包:
> pip install glistener
> glistener --d 30 --l 1
样例输出:
[root@localhost data]# python gpu_standalone_listener.py --d 30 --l 1
==================================================
统计 30s, 间隔 1s
GPU Numbers: 8
Device: Tesla T4
Driver Version: 410.104
--------------------------------------------------
GPU: 0
GPU平均利用率: 76.46%
GPU显存平均利用: 5736.00 MB
GPU显存: 15079.0 MB
GPU最大利用率: 91.00%
GPU最小利用率: 27.00%
GPU中位数利用率: 85.00%
GPU众数利用率: 88.00%
--------------------------------------------------
--------------------------------------------------
GPU: 1
GPU平均利用率: 73.65%
GPU显存平均利用: 5059.00 MB
GPU显存: 15079.0 MB
GPU最大利用率: 84.00%
GPU最小利用率: 17.00%
GPU中位数利用率: 81.00%
GPU众数利用率: 82.00%
--------------------------------------------------
--------------------------------------------------
GPU: 2
GPU平均利用率: 0.00%
GPU显存平均利用: 4154.00 MB
GPU显存: 15079.0 MB
GPU最大利用率: 0.00%
GPU最小利用率: 0.00%
GPU中位数利用率: 0.00%
GPU众数利用率: 0.00%
--------------------------------------------------
--------------------------------------------------
GPU: 3
GPU平均利用率: 87.92%
GPU显存平均利用: 8608.00 MB
GPU显存: 15079.0 MB
GPU最大利用率: 93.00%
GPU最小利用率: 62.00%
GPU中位数利用率: 89.50%
GPU众数利用率: 89.00%
--------------------------------------------------
--------------------------------------------------
GPU: 4
GPU平均利用率: 0.00%
GPU显存平均利用: 2710.00 MB
GPU显存: 15079.0 MB
GPU最大利用率: 0.00%
GPU最小利用率: 0.00%
GPU中位数利用率: 0.00%
GPU众数利用率: 0.00%
--------------------------------------------------
--------------------------------------------------
GPU: 5
GPU平均利用率: 19.73%
GPU显存平均利用: 815.00 MB
GPU显存: 15079.0 MB
GPU最大利用率: 23.00%
GPU最小利用率: 14.00%
GPU中位数利用率: 21.00%
GPU众数利用率: 21.00%
--------------------------------------------------
--------------------------------------------------
GPU: 6
GPU平均利用率: 3.62%
GPU显存平均利用: 785.00 MB
GPU显存: 15079.0 MB
GPU最大利用率: 22.00%
GPU最小利用率: 0.00%
GPU中位数利用率: 0.00%
GPU众数利用率: 0.00%
--------------------------------------------------
--------------------------------------------------
GPU: 7
GPU平均利用率: 0.12%
GPU显存平均利用: 839.00 MB
GPU显存: 15079.0 MB
GPU最大利用率: 1.00%
GPU最小利用率: 0.00%
GPU中位数利用率: 0.00%
GPU众数利用率: 0.00%
--------------------------------------------------
==================================================
5. 备注
- 采用了兼容Python 2和Python 3的语法,适合于所有主流的且支持nvidia driver的Linux发行版
- 一个文件,一个目的,只做一件事
- 随时拷贝随时运行,copy it & run it & feel it
leefyi@126.com 15012852770