NVIDIA-SMI

目录

一 介绍

二 命令

nvidia-smi

附加选项

设备修改选项


一 介绍

nvidia-smi简称NVSMI,提供监控GPU使用情况和更改GPU状态的功能,是一个跨平台工具,它支持所有标准的NVIDIA驱动程序支持的Linux发行版以及从WindowsServer 2008 R2开始的64位的系统。该工具是N卡驱动附带的,只要安装好驱动后就会有它。

二 命令

nvidia-smi

  • Fan:风扇转速(0%-100%),N/A表示没有风扇
  • Temp:GPU温度(GPU温度过高会导致GPU频率下降)
  • Perf:性能状态,从P0(最大性能)到P12(最小性能)
  • Pwr:GPU功耗
  • Persistence-M:持续模式状态(持续模式耗能大,但在新的GPU应用启动时花费时间更少) 
    persistence mode 持续模式默认关闭。persistence mode 能够让 GPU 更快响应任务,待机功耗增加。关闭 persistence mode 同样能够启动任务。
  • Bus-Id:GPU总线,00000000:37:00.0
  • Disp.A:Display Active,表示GPU是否初始化
  • Memory-Usage:显存使用率
  • Volatile GPU-UTil:GPU使用率,与显存使用率的区别可参考显存与GPU
  • ECC:是否开启错误检查和纠错技术,0/DISABLED,1/ENABLED
  • Compute M:计算模式

附加选项

1、指定GPU:nvidia-smi -i 0

2、指定动态刷新时间,默认5秒刷新一次,通过Ctrl+C停止:nvidia-smi -l 5

3、将查询信息输出到具体文件中,不在终端显示:nvidia-smi -f xxx

4、查询所有GPU当前详细信息:nvidia-smi -q

 

5、显示单元而不是GPU属性 nvidia-smi -q -u

 6、指定具体的GPU或unit属性:nvidia-smi -q -i XXX    nvidia-smi -q -u XXX

 7、将查询信息输出到文档:nvidia-smi -q -f XXX

 8、将查询信息输出到xml:nvidia-smi -q -x

 9、指定显示GPU的特定信息:nvidia-smi -q -d xxx,xxx属性可以为MEMORY, UTILIZATION,   ECC, TEMPERATURE, POWER,CLOCK, COMPUTE, PIDS, PERFORMANCE,   SUPPORTED_CLOCKS, PAGE_RETIREMENT,ACCOUNTING

 10、选择性查询选项,可以指定显示的属性选项:nvidia-smi --query-gpu=gpu_name,gpu_bus_id,vbios_version-format=csv

设备修改选项

可以手动设置GPU卡设备的状态选项:

1、nvidia-smi -pm 0/1

设置持久模式:0/DISABLED,1/ENABLED

2、nvidia-smi -e 0/1

设置ECC支持:0/DISABLED,1/ENABLED

3、nvidia-smi -p 0/1

重置ECC错误次数:0/VOLATILE,1/AGGREGATE

4、nvidia-smi -c

设置计算应用模式:0/DEFAULT,1/EXCLUSIVE_PROCESS,2/PROHIBITED

5、nvidia-smi -r

GPU复位

6、nvidia-smi -vm

设置GPU虚拟化模式

7、nvidia-smi-rac xxx,xxx

设置GPU工作频率

### nvidia-smi 使用指南与常见问题 #### 什么是 `nvidia-smi`? `nvidia-smi` 是 NVIDIA 提供的一个用于管理和监控 GPU 设备的命令行工具。它可以提供关于 GPU 利用率、温度、功耗以及内存使用情况的信息[^1]。 --- #### 如何查看当前系统的 GPU 状态? 通过运行以下命令可以获取详细的 GPU 状态信息: ```bash nvidia-smi ``` 该命令会显示如下内容: - **GPU 名称和型号** - **驱动程序版本** - **CUDA 版本** - **显存占用情况** - **当前运行的任务及其进程 ID** 如果需要更简洁的输出,可以通过参数控制,例如仅显示显存使用情况: ```bash nvidia-smi --query-gpu=memory.total,memory.used --format=csv ``` --- #### 常见问题及解决办法 ##### 1. `nvidia-smi` 报错:“Failed to initialize NVML” 当出现此类错误时,通常是因为 NVIDIA 驱动未正确安装或版本过低。确保已安装最新版驱动并与操作系统兼容[^1]。 推荐检查驱动版本的方法: ```bash modinfo nvidia | grep version ``` 若确认驱动正常但仍报错,则尝试重新启动系统以加载模块。 ##### 2. 显卡利用率始终为零 (`%gpu-util`) 某些情况下,即使有任务在运行,`nvidia-smi` 可能不会报告实际的 GPU 占用率。这是由于默认采样间隔较短所致。可通过增加采样时间来观察变化: ```bash watch -n 0.5 nvidia-smi ``` ##### 3. Docker 中无法识别 GPU 为了在容器内访问主机上的 GPU 资源,需指定相应的运行时选项。以下是标准配置方式: ```bash sudo docker run --gpus all --rm nvcr.io/nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi ``` 此操作允许容器内部调用宿主机的 `nvidia-smi` 工具并返回实时数据[^2]。 ##### 4. Prometheus 数据采集支持 对于希望集成到监控系统的用户来说,“NVIDIA GPU Exporter”是一个理想的选择。它能够基于 `nvidia-smi` 输出生成标准化指标,并将其传递给 Prometheus 实现可视化管理[^3]。 --- #### 安装 CUDA 和驱动后的验证步骤 完成 NVIDIA 驱动与 CUDA Toolkit 的部署之后,务必检验其功能是否完好无损。具体做法包括但不限于测试编译器版本号: ```bash nvcc --version ``` 同时也可以借助简单的 C++ 测试脚本来进一步确认硬件加速能力是否可用[^4]: ```cpp #include <cuda_runtime.h> int main() { int deviceCount; cudaGetDeviceCount(&deviceCount); printf("Number of devices: %d\n", deviceCount); return 0; } ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IForFree

整理不易,望多支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值