英伟达NVIDIA-SMI工具介绍 文章目录前言一、NVIDIA-SMI介绍二、NVIDIA-SMI命令系列详解前言NVIDIA System Management Interface (NVIDIA-SMI)是 NVIDIA 官方提供的命令行工具用于监控和管理 NVIDIA GPU 设备。无论是深度学习训练、科学计算还是图形渲染了解 GPU 的实时状态、资源利用率以及运行参数都至关重要。NVIDIA-SMI 提供了丰富的命令和选项让开发者、运维人员和研究人员能够直接从终端获取 GPU 的详细信息、调整设备设置并进行性能监控。本文旨在系统介绍 NVIDIA-SMI 的核心功能与常用命令涵盖设备信息查询、实时监控、进程管理以及设备参数修改等方面。通过本文您将能够快速掌握nvidia-smi、nvidia-smi -q、nvidia-smi dmon、nvidia-smi pmon等核心命令的用法。理解输出中各项参数如 GPU 使用率、显存、温度、功耗、ECC 状态等的含义。学会使用命令行选项进行动态监控、指定 GPU、输出格式化等高级操作。了解如何通过命令调整 GPU 的运行模式、功耗限制、时钟频率等设备参数。无论您是刚接触 GPU 管理的初学者还是希望深化命令行操作经验的资深用户本文都将为您提供一份清晰、实用的参考指南。下面让我们开始深入了解 NVIDIA-SMI 的强大功能。一、NVIDIA-SMI介绍NVIDIA-SMINVIDIA System Management Interface英伟达系统管理接口是 NVIDIA 显卡自带的命令行监控管理工具安装 NVIDIA 驱动后自动部署支持 Linux、Windows专门管控 NVIDIA 全系专业卡、游戏卡、Tesla 计算卡、RTX 虚拟化显卡RTX 4000/5000 等。Windows 下程序位置C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe。Linux 下程序位置/usr/bin/nvidia-smi由于所在位置已经加入 PATH 路径可直接输入 nvidia-smi 运行。二、NVIDIA-SMI命令系列详解nvidia-smi显示所有GPU的当前信息状态显示的表格中Fan 风扇转速0%–100%N/A表示没有风扇Temp GPU温度GPU温度过高会导致GPU频率下降Perf 性能状态从P0最大性能到P12最小性能Pwr GPU功耗Persistence-M 持续模式的状态持续模式耗能大但在新的GPU应用启动时花费时间更少Bus-Id GPU总线domaindevice.functionDisp.A Display Active表示GPU的显示是否初始化Memory-Usage显存使用率Volatile GPU-UtilGPU使用率ECC 是否开启错误检查和纠正技术0/DISABLED, 1/ENABLEDCompute M. 计算模式0/DEFAULT,1/EXCLUSIVE_PROCESS,2/PROHIBITED附加选项nvidia-smi -i xxx 指定某个GPUnvidia-smi -l xxx 动态刷新信息默认5s刷新一次按CtrlC停止可指定刷新频率以秒为单位nvidia-smi -f xxx 将查询的信息输出到具体的文件中不在终端显示nvidia-smi-q查询所有GPU的当前详细信息附加选项nvidia-smi -q -u显示单元而不是GPU的属性nvidia-smi -q -i xxx 指定具体的GPU或unit信息nvidia-smi –q –f xxx 将查询的信息输出到具体的文件中不在终端显示nvidia-smi –q –x 将查询的信息以xml的形式输出nvidia-smi -q –d xxx 指定显示GPU卡某些信息xxx参数可以为MEMORY, UTILIZATION, ECC, TEMPERATURE, POWER,CLOCK, COMPUTE, PIDS, PERFORMANCE, SUPPORTED_CLOCKS, PAGE_RETIREMENT,ACCOUNTINGnvidia-smi –q –l xxx 动态刷新信息按CtrlC停止可指定刷新频率以秒为单位nvidia-smi --query-gpugpu_name,gpu_bus_id,vbios_version–formatcsv 选择性查询选项可以指定显示的属性选项可查看的属性有timestampdriver_versionpci.buspcie.link.width.current等。可查看nvidia-smi–help-query–gpu来查看有哪些属性nvidia-smi dmon设备监控命令以滚动条形式显示GPU设备统计信息。GPU统计信息以一行的滚动格式显示要监控的指标可以基于终端窗口的宽度进行调整。 监控最多4个GPU如果没有指定任何GPU则默认监控GPU0-GPU3GPU索引从0开始。附加选项nvidia-smi dmon –i xxx用逗号分隔GPU索引PCI总线ID或UUIDnvidia-smi dmon –d xxx指定刷新时间默认为1秒nvidia-smi dmon –c xxx显示指定数目的统计信息并退出nvidia-smi dmon –s xxx指定显示哪些监控指标默认为puc其中p电源使用情况和温度pwr功耗temp温度uGPU使用率sm流处理器mem显存enc编码资源dec解码资源cGPU处理器和GPU内存时钟频率mclk显存频率pclk处理器频率v电源和热力异常mFB内存和Bar1内存eECC错误和PCIe重显错误个数tPCIe读写带宽nvidia-smi dmon –o D/T指定显示的时间格式DYYYYMMDDTHH:MM:SSnvidia-smi dmon –f xxx将查询的信息输出到具体的文件中不在终端显示nvidia-smi pmon进程监控命令以滚动条形式显示GPU进程状态信息。GPU进程统计信息以一行的滚动格式显示此工具列出了GPU所有进程的统计信息。要监控的指标可以基于终端窗口的宽度进行调整。 监控最多4个GPU如果没有指定任何GPU则默认监控GPU0-GPU3GPU索引从0开始。附加选项nvidia-smi pmon –i xxx用逗号分隔GPU索引PCI总线ID或UUIDnvidia-smi pmon –d xxx指定刷新时间默认为1秒最大为10秒nvidia-smi pmon –c xxx显示指定数目的统计信息并退出nvidia-smi pmon –s xxx指定显示哪些监控指标默认为u其中uGPU使用率mFB内存使用情况nvidia-smi pmon –o D/T指定显示的时间格式DYYYYMMDDTHH:MM:SSnvidia-smi pmon –f xxx将查询的信息输出到具体的文件中不在终端显示设备修改选项可以手动设置GPU卡设备的状态选项nvidia-smi –pm 0/1 设置持久模式0/DISABLED,1/ENABLEDnvidia-smi –e 0/1 切换ECC支持0/DISABLED, 1/ENABLEDnvidia-smi –p 0/1 重置ECC错误计数0/VOLATILE, 1/AGGREGATEnvidia-smi –c 设置计算应用模式0/DEFAULT,1/EXCLUSIVE_PROCESS,2/PROHIBITEDnvidia-smi –r GPU复位nvidia-smi –vm 设置GPU虚拟化模式nvidia-smi –ac xxx,xxx 设置GPU运行的工作频率。e.g. nvidia-smi –ac2000,800nvidia-smi –rac 将时钟频率重置为默认值nvidia-smi –acp 0/1 切换-ac和-rac的权限要求0/UNRESTRICTED, 1/RESTRICTEDnvidia-smi –pl指定最大电源管理限制瓦特nvidia-smi –am 0/1启用或禁用计数模式0/DISABLED,1/ENABLEDnvidia-smi –caa 清除缓冲区中的所有已记录PID0/DISABLED,1/ENABLED