【NVIDIA】英伟达显卡命令
这篇文章整理 NVIDIA 显卡日常排查里最常用的一组命令,核心是围绕 nvidia-smi 展开。相比把参数一条条硬背,更实用的方式是按“查看整体状态、看详细信息、盯实时监控、看进程、改设备状态”这几个场景去记。

nvidia-smi 是什么
nvidia-smi 简称 NVSMI,主要用于监控 GPU 使用情况、查看驱动信息以及修改部分设备状态。它通常会随着 NVIDIA 驱动一起安装完成。
常见路径如下:
- Windows:
C:\\Program Files\\NVIDIA Corporation\\NVSMI\\nvidia-smi.exe - Linux:
/usr/bin/nvidia-smi
大多数 Linux 环境里,这个路径已经在 PATH 中,直接执行 nvidia-smi 即可。
1. 查看所有 GPU 当前状态
最常用的就是先直接执行:
nvidia-smi这个命令适合快速确认以下信息:
- 驱动版本是否正常
- GPU 型号和总线号是否识别正确
- 当前温度、功耗和利用率是否异常
- 是否已有进程占用显存

显示的表格中:
Fan:风扇转速(0% - 100%),N/A 表示没有风扇
Temp:GPU 温度
Perf:性能状态,从 P0(最大性能)到 P12(最小性能)
Pwr:GPU 功耗
Persistence-M:持续模式状态
Bus-Id:GPU 总线位置,domain:bus:device.function
Disp.A:显示是否初始化
Memory-Usage:显存使用情况
Volatile GPU-Util:GPU 使用率
ECC:是否开启 ECC
Compute M.:计算模式常用附加选项
nvidia-smi -i <gpu-id>指定某个 GPU。
nvidia-smi -l <seconds>动态刷新信息,按 Ctrl+C 停止。
nvidia-smi -f <file>把结果输出到文件,不在终端直接显示。
2. 查看详细信息
nvidia-smi -q这个命令更适合在需要查看完整硬件、驱动、ECC、功耗、时钟或进程信息时使用。

附加选项:
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
只显示指定信息,例如 MEMORY、UTILIZATION、ECC、TEMPERATURE、POWER、CLOCK、PIDS
nvidia-smi -q -l xxx
动态刷新信息
nvidia-smi --query-gpu=gpu_name,gpu_bus_id,vbios_version --format=csv选择性查询

常见可查询属性有 timestamp、driver_version、pci.bus、pcie.link.width.current 等。实际支持字段可以通过 nvidia-smi --help-query-gpu 查看。
3. 修改设备状态
下面这些参数适合在你已经明确知道设备状态和业务影响时使用:
nvidia-smi -pm 0/1
设置持久模式:0/DISABLED,1/ENABLED
nvidia-smi -e 0/1
切换 ECC 支持
nvidia-smi -p 0/1
重置 ECC 错误计数
nvidia-smi -c
设置计算模式:0/DEFAULT,1/EXCLUSIVE_PROCESS,2/PROHIBITED
nvidia-smi -r
GPU 复位
nvidia-smi -vm
设置 GPU 虚拟化模式
nvidia-smi -ac xxx,xxx
设置 GPU 工作频率,例如:nvidia-smi -ac 2000,800
nvidia-smi -rac
恢复默认时钟频率
nvidia-smi -acp 0/1
切换 -ac 和 -rac 的权限要求
nvidia-smi -pl
指定最大电源限制(瓦特)
nvidia-smi -am 0/1
启用或禁用计数模式
nvidia-smi -caa
清除缓冲区中已记录的 PID4. 实时监控设备状态
nvidia-smi dmon
设备监控命令,会以滚动方式持续显示 GPU 统计信息,适合排查温度、功耗和使用率波动。

附加选项:
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:电源和温度
u:GPU 使用率(sm、mem、enc、dec)
c:GPU 和显存时钟频率
v:电源和热力异常
m:FB 内存和 Bar1 内存
e:ECC 错误和 PCIe 重显错误
t:PCIe 读写带宽
nvidia-smi dmon -o D/T
指定显示的时间格式
nvidia-smi dmon -f xxx
把结果输出到文件5. 监控 GPU 进程
nvidia-smi pmon
这个命令用于查看 GPU 进程状态,适合排查“是谁在吃显存”“哪个进程持续占用 GPU”这类问题。

附加选项:
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
指定显示时间格式
nvidia-smi pmon -f xxx
把结果输出到文件使用建议
- 想先看整机状态时,先跑一次
nvidia-smi - 想看完整硬件和驱动信息时,用
nvidia-smi -q - 想持续观察功耗、温度和利用率时,用
dmon - 想排查具体是哪个进程占用 GPU 时,用
pmon - 修改功耗、时钟或虚拟化模式前,最好先确认驱动版本和业务影响