【CUDA】nvidia-smi命令
nvidia-smi 提供了GPU技术参数、使用温度和电源管理等重要信息。
目录
一、介绍
nvidia-smi 提供了GPU技术参数、使用温度和电源管理等重要信息

1.1 检测GPU性能
nvidia-smi 最重要的功能是实时监控GPU性能。包括跟踪GPU利用率,表示系统当前使用了多少GPU计算能力。还可监控内存使用情况,这是了解GPU的视频RAM(VRAM)应用程序占用多少空间的基本指标,nvidia-smi 提供实时温度读数,确保GPU在安全的热极限内运行。在涉及持续、密集使用GPU的场景中尤其重要,有助于防止热节流并保持最佳性能
1.2 GPU硬件参数配置
nvidia-smi 可以配置硬件参数,允许查询各种GPU属性,如时钟速度、功耗和支持的特性。若正在为特定任务优化系统,无论是在计算密集型工作负载中最大化性能,还是在长时间运行的任务中确保能效,这些信息都是至关重要的。nvidia-smi 还提供了调整某些设置的能力,如功率限制和风扇速度,若想根据特定要求或环境条件对硬件进行微调,nvidia-smi 提供了一定程度的控制能力
1.3 GPU故障排除
nvidia-smi 提供了对GPU状态的详细解释。若GPU表现不佳,nvidia-smi 可以帮助识别问题是否与过热、内存使用过多或GPU使用瓶颈有关。该工具还可以通过报告GPU性能中的错误和不规则情况来帮助识别失败的硬件组件
二、使用
2.1 查看系统中的所有GPU资源
nvidia-smi -L
GPU 0: NVIDIA A10 (UUID: GPU-4e2a7543-0127-59f7-0909-db857a596745)
可快速识别当前的GPU,尤其是在具有多个GPU的系统中
2.2 查询GPU的详细信息
nvidia-smi --query-gpu=gpu_name,gpu_bus_id,vbios_version --format=csv
name, pci.bus_id, vbios_version
NVIDIA A10, 00000000:00:0A.0, 94.02.5C.00.05
可以通过下面这条命令获取查询参数的完整列表
nvidia-smi --help-query-gpu
列举一些常用的查询参数

nvidia-smi --query-gpu=timestamp,name,pci.bus_id,driver_version,pstate,pcie.link.gen.max,pcie.link.gen.current,temperature.gpu,utilization.gpu,utilization.memory,memory.total,memory.free,memory.used --format=csv -l 5
timestamp, name, pci.bus_id, driver_version, pstate, pcie.link.gen.max, pcie.link.gen.current, temperature.gpu, utilization.gpu [%], utilization.memory [%], memory.total [MiB], memory.free [MiB], memory.used [MiB]
2024/10/22 11:15:22.869, NVIDIA A10, 00000000:00:0A.0, 520.61.05, P0, 3, 3, 65, 31 %, 24 %, 23028 MiB, 10440 MiB, 12140 MiB
2024/10/22 11:15:27.872, NVIDIA A10, 00000000:00:0A.0, 520.61.05, P0, 3, 3, 64, 26 %, 20 %, 23028 MiB, 10440 MiB, 12140 MiB
2024/10/22 11:15:32.874, NVIDIA A10, 00000000:00:0A.0, 520.61.05, P0, 3, 3, 64, 36 %, 28 %, 23028 MiB, 10440 MiB, 12140 MiB
2.3 开启 Persistence 模式
除非为驱动程序开启了持久化模式(Persistence Mode,PM),否则以下任何关于时钟和电源的设置都会在程序运行之间重置。若启用PM模式,nvidia-smi 命令运行得更快
nvidia-smi -pm 1
Enabled persistence mode for GPU 00000000:03:00.0.
All done.
上面的命令使时钟、电源和其他设置在程序运行、驱动程序调用时保持一致
2.4 调整GPU时钟
| 命令 | 解释 |
|---|---|
| nvidia-smi –q –d SUPPORTED_CLOCKS | 设置支持的时钟频率 |
| nvidia-smi -q -d CLOCK | 查看当前的时钟 |
| nvidia-smi --auto-boost-default=ENABLED -i 0 | 开启 boosting GPU 时钟(K80 以及之后的版本支持) |
| nvidia-smi --rac | 重置为基本时钟频率 |
2.5 调整GPU功率
| 命令 | 解释 |
|---|---|
| nvidia-smi -pl N | 设置功率上限(GPU将使用的最大瓦数) |
| nvidia-smi -pm 1 | 开启持久化模式 |
| nvidia-smi stats -i -d pwrDraw | 提供对详细统计信息(如功率)的持续监控 |
| nvidia-smi --query-gpu=index,timestamp,power.draw,clocks.sm,clocks.mem,clocks.gr --format=csv -l 1 | 连续提供时间戳、功率和时钟信息 |
调整功率限制有助于平衡性能、能耗和发热量
nvidia-smi -q -d POWER
==============NVSMI LOG==============
Timestamp : Tue Oct 22 11:39:50 2024
Driver Version : 520.61.05
CUDA Version : 11.8
Attached GPUs : 1
GPU 00000000:00:0A.0
Power Readings
Power Management : Supported
Power Draw : 121.77 W
Power Limit : 150.00 W
Default Power Limit : 150.00 W
Enforced Power Limit : 150.00 W
Min Power Limit : 100.00 W
Max Power Limit : 150.00 W
Power Samples
Duration : 2.36 sec
Number of Samples : 119
Max : 177.78 W
Min : 71.75 W
Avg : 119.67 W
上面的命令显示当前功率使用情况和功率管理限制,改变功率限制的方法如下:
nvidia-smi -pl 150
Power limit for GPU 00000000:03:00.0 was set to 150.00 W from 175.00 W.
All done.
注意:最大和最小功率限制在不同的GPU模型之间是不同的。在调整GPU设置,特别是功率限制时,须谨慎使用超频。将GPU推向极限可能会导致不稳定或损坏
更多推荐




所有评论(0)