一操作系统基础信息
如果操作系统不支持lspci命令,需要安装
root@b57334c4f529:~# apt-get install pciutils -y #或者centos yum install pciutils -y
1.1 首先验证你是否有nvidia的显卡(http://developer.nvidia.com/cuda-gpus这个网站查看你是否有支持gpu的显卡)
root@b57334c4f529:~# lspci | grep -i nvidia
29:00.0 VGA compatible controller: NVIDIA Corporation Device 1b06 (rev a1)
29:00.1 Audio device: NVIDIA Corporation Device 10ef (rev a1)
1.2 查看的Linux发型版本(主要是看是32位还是64位)
root@b57334c4f529:~# uname -m && cat /etc/*release
x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.4 LTS"
NAME="Ubuntu"
VERSION="16.04.4 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.4 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial
root@b57334c4f529:~#
1.3 查看gcc的版本
root@b57334c4f529:~# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.10' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10)
root@b57334c4f529:~#
1.4 查看NVIDIA显卡的驱动版本
root@b57334c4f529:~# cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 384.111 Tue Dec 19 23:51:45 PST 2017
GCC version: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
root@b57334c4f529:~#
1.5 查看nvcc编译器的版本
nvcc -V i
1.6 查看本机的NVIDIA显卡
root@b57334c4f529:/dev# ls /dev/nvidia*
/dev/nvidia-uvm /dev/nvidia-uvm-tools /dev/nvidia0 /dev/nvidiactl
二nvidia-smi基础命令
2.1 查询nvidia-smi帮助手册
root@b57334c4f529:~# nvidia-smi --help
查看显卡名称以及驱动版本
root@b57334c4f529:~# nvidia-smi
root@b57334c4f529:~# nvidia-smi -a
2.2 nvidia-smi字段说明
root@b57334c4f529:~# nvidia-smi
Tue Dec 11 06:15:36 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.111 Driver Version: 384.111 |
|-------------------------------+----------------------+----------------------+
| 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 GTX 108... Off | 00000000:29:00.0 On | N/A |
| 0% 41C P8 21W / 250W | 247MiB / 11169MiB | 25% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
+-----------------------------------------------------------------------------+
root@b57334c4f529:~# 第一栏的GPU Fan : N/A是风扇转速,从0到100%之间变动。有的设备不会返回转速,因为它不依赖风扇冷却而是通过其他外设保持低温。
N/A表示没有风扇
第二栏的Temp:是GPU温度,单位摄氏度,(GPU温度过高会导致GPU频率下降)
第三栏的Perf:是性能状态,从P0到P12, P0表示最大性能,P12表示状态最小性能
第四栏下方的Pwr:是能耗,上方的Persistence-M:是持续模式的状态,持续模式虽然耗能打,但是在新的GPU应用启动时,
花费的时间更少,这里显示的是off的状态
第五栏的Bus-Id是涉及GPU总线的东西,domain:bus:device.function
第六栏的Disp.A是Display Active,表示GPU的显示是否初始化
第六栏的Memory-Usage是显存使用率。
第七栏Volatile GPU-Util:是浮动的GPU利用率
第八栏上方是关于ECC的东西,shifou开启错误检查和纠正技术0/DISABLED, 1/ENABLED
第八栏下方Compute M是计算模式,0/DEFAULT, 1/EXCLUSIVE_PROCESS, 2/PROHIBITED
下面一张表示每个进程占用的显存使用率,这台GPU目前什么有俄密友跑。
显存占用和GPU占用是两个不一样的概念。显卡是由GPU和显存等组成,显存和GPU类似于内存和cpu的关系
设置10s更新一次显存的情况
watch -n 10 nvidia-smi
查看所有GPU的版本详细信息
root@b57334c4f529:~# nvidia-smi -q
2.3指定某个GPU
nvidia-smi –i xxx
例如第一块GPU卡,需要输入命令: nvidia-smi -i 0
root@b57334c4f529:~# nvidia-smi -i 0
Tue Dec 11 06:16:17 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.111 Driver Version: 384.111 |
|-------------------------------+----------------------+----------------------+
| 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 GTX 108... Off | 00000000:29:00.0 On | N/A |
| 0% 41C P8 21W / 250W | 247MiB / 11169MiB | 29% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
+-----------------------------------------------------------------------------+
root@b57334c4f529:~#
动态刷新信息,课指定刷新频率,以秒为单位
nvidia-smi –l xxx #例如一秒刷新一次nvidia-smi -l 1
将查询的信息输出到具体的文件中,不在终端显示
nvidia-smi –f xxx #例如运行结果输出到 displayResult, nvidia-smi -f displayResult
二 nvidia-smi -q
2.1 显示单元而不是GPU的属性
root@b57334c4f529:~# nvidia-smi -q -u
==============NVSMI LOG==============
Timestamp : Tue Dec 11 02:22:51 2018
Driver Version : 384.111
HIC Info : N/A
Attached Units : 0
2.2指定具体的GPU或unit信息
root@b57334c4f529:~# nvidia-smi -q -i xxx
2.3将查询的信息输出到具体的文件中, 不在终端显示
root@b57334c4f529:~# nvidia-smi -q -f xxx
2.4将查询的信息以xml的形式输出
root@b57334c4f529:~# nvidia-smi -q -x
2.5将查询的信息以xml的形式输出
root@b57334c4f529:~# nvidia-smi -q -d xxx
指定显示GPU卡某些信息,xxx参数可以为MEMORY, UTILIZATION, ECC, TEMPERATURE, POWER,CLOCK, COMPUTE, PIDS, PERFORMANCE, SUPPORTED_CLOCKS, PAGE_RETIREMENT,ACCOUNTING
2.6动态刷新信息,按Ctrl+C停止,可指定刷新频率,以秒为单位
root@b57334c4f529:~# nvidia-smi -q -l xxx
2.7 选择性查询选项,可以指定显示的属性选项
查看哪些属性
root@b57334c4f529:~# nvidia-smi --help-query-gpu
root@b57334c4f529:~# nvidia-smi --query-gpu=gpu_name,gpu_bus_id,vbios_version --format=csv
name, pci.bus_id, vbios_version
GeForce GTX 1080 Ti, 00000000:29:00.0, 86.02.39.00.9E
root@b57334c4f529:~#
2.3可以手动设置GPU卡设备的状态选项
可以手动设置GPU卡设备的状态选项
nvidia-smi –pm 0/1
设置持久模式:0/DISABLED,1/ENABLED
nvidia-smi –e 0/1
切换ECC支持:0/DISABLED, 1/ENABLED
nvidia-smi –p 0/1
重置ECC错误计数:0/VOLATILE, 1/AGGREGATE
nvidia-smi –c
设置计算应用模式:0/DEFAULT,1/EXCLUSIVE_PROCESS,2/PROHIBITED
nvidia-smi –r
GPU复位
nvidia-smi –vm
设置GPU虚拟化模式
nvidia-smi –ac xxx,xxx
设置GPU运行的工作频率。e.g. nvidia-smi –ac2000,800
nvidia-smi –rac
将时钟频率重置为默认值
nvidia-smi –acp 0/1
切换-ac和-rac的权限要求,0/UNRESTRICTED, 1/RESTRICTED
nvidia-smi –pl
指定最大电源管理限制(瓦特)
nvidia-smi –am 0/1
启用或禁用计数模式,0/DISABLED,1/ENABLED
nvidia-smi –caa
清除缓冲区中的所有已记录PID,0/DISABLED,1/ENABLED
2.4 nvidia-smi dmon
设备监控命令, 以滚动条形式显示GPU设备统计信息
GPU设备信息以一行的滚动格式显示,要监控的指标可以基于窗口的宽度进行调整,监控最多,如果没有指定任何GPU.则默认加浓GPU0-GPU3(GPU索引从0开始)
附加选项:
nvidia-smi dmon –i xxx
用逗号分隔GPU索引,PCI总线ID或UUID
nvidia-smi dmon –d xxx
指定刷新时间(默认为1秒)
nvidia-smi dmon –c xxx
显示指定数目的统计信息并退出
nvidia-smi dmon –s xxx
指定显示哪些监控指标(默认为puc),其中:
p:电源使用情况和温度(pwr:功耗,temp:温度)
u:GPU使用率(sm:流处理器,mem:显存,enc:编码资源,dec:解码资源)
c:GPU处理器和GPU内存时钟频率(mclk:显存频率,pclk:处理器频率)
v:电源和热力异常
m:FB内存和Bar1内存
e:ECC错误和PCIe重显错误个数
t:PCIe读写带宽
nvidia-smi dmon –o D/T
指定显示的时间格式D:YYYYMMDD,THH:MM:SS
nvidia-smi dmon –f xxx
将查询的信息输出到具体的文件中,不在终端显示
2.5 nvidia-smi pmon
进程监控命令,以滚动条形式显示GPU进程状态信息。
GPU进程统计信息以一行的滚动格式显示,此工具列出了GPU所有进程的统计信息。要监控的指标可以基于终端窗口的宽度进行调整。 监控最多4个GPU,如果没有指定任何GPU,则默认监控GPU0-GPU3(GPU索引从0开始)。
附加选项:
nvidia-smi pmon –i xxx
用逗号分隔GPU索引,PCI总线ID或UUID
nvidia-smi pmon –d xxx
指定刷新时间(默认为1秒,最大为10秒)
nvidia-smi pmon –c xxx
显示指定数目的统计信息并退出
nvidia-smi pmon –s xxx
指定显示哪些监控指标(默认为u),其中:
u:GPU使用率
m:FB内存使用情况
nvidia-smi pmon –o D/T
指定显示的时间格式D:YYYYMMDD,THH:MM:SS
nvidia-smi pmon –f xxx
将查询的信息输出到具体的文件中,不在终端显示
nvidia命令入门
最新推荐文章于 2024-09-13 14:37:11 发布