【GPU】nvidia-smi输出内容释义及使用

nvidia-smi(NVIDIA System Management Interface) 是基于nvml的gpu的系统管理接口,主要用于显卡的管理和状态监控。

1.基础命令nvidia-smi

安装完成后在命令行或终端输入命令nvidia-smi,即可看到下面的信息(点击放大):
在这里插入图片描述

包含了显卡的信号、温度、风扇、功率、显存、使用率、计算模式等信息。

2.实用命令
#帮助
nvidia-smi -h

#持续监控gpu状态 (-lms 可实现毫秒级监控)
nvidia-smi -l 3   #每三秒刷新一次状态,持续监控

#列出所有GPU,大写L
nvidia-smi -L

#查询所有信息
nvidia-smi -q

#查询特定卡的信息,0.1.2.为GPU编号
nvidia-smi -i 0

#显示特定的信息  MEMORY, UTILIZATION, ECC, TEMPERA-TURE, POWER, CLOCK, COMPUTE, PIDS, PERFORMANCE, SUPPORTED_CLOCKS, #PAGE_RETIREMENT, ACCOUNTING 配合-q使用
nvidia-smi -q -d MEMORY

#监控线程
nvidia-smi pmon

#监控设备
nvidia-smi dmon

#此外还有一系列可以配置模式的属性,可以直接利用nvidia-smi配置
#详情:http://developer.download.nvidia.com/compute/DCGM/docs/nvidia-smi-367.38.pdf
#查询命令外的配置命令,请慎重使用!!!
#对于配置类命令,务必事先确认命令的含义!!!

在这里插入图片描述
pic from pexels


ref:
命令参考:http://developer.download.nvidia.com/compute/DCGM/docs/nvidia-smi-367.38.pdf
https://blog.csdn.net/u011394059/article/details/74530243?locationNum=10&fps=1
https://blog.csdn.net/huangfei711/article/details/79230446

<think>嗯,用户问的是关于nvidia-smi输出的介绍。首先,我需要回想一下自己对nvidia-smi的了解。nvidia-smiNVIDIA的系统管理接口工具,用来监控和管理GPU的状态。用户可能是开发者或者系统管理员,他们在使用GPU进行深度学习训练、图形渲染或者其他计算任务时,需要监控GPU使用情况,确保资源合理分配,避免过载或者故障。 接下来,我需要详细分析nvidia-smi输出的各个部分。通常输出包括GPU的型号、温度、功耗、显存使用情况、计算利用率以及运行中的进程信息。用户可能想知道每个参数的意义,比如显存使用和计算利用率有什么区别,或者如何根据输出来诊断性能问题。 用户可能的深层需求是优化GPU资源的使用,或者解决遇到的性能瓶颈。例如,显存不足会导致程序崩溃,高功耗可能影响系统稳定性,温度过高可能引发散热问题。因此,在解释每个指标时,需要结合这些实际应用场景,说明如何通过这些数据来调整任务分配或者优化代码。 还要注意用户的背景。如果是初学者,可能需要更基础的术语解释,而高级用户可能更关注如何利用这些数据进行调优。这里用户的问题比较基础,所以应该以清晰简洁的方式介绍每个部分,避免过于技术化的术语,同时确保信息全面。 另外,用户可能还想知道如何运行nvidia-smi,或者在不同操作系统下的差异,但问题中没有提到,所以可能不需要深入这部分,但可以简要提及命令的使用方法,比如在终端直接输入即可。 最后,要确保回答结构清晰,分点列出各个输出部分的含义,并结合示例说明,这样用户更容易理解。同时,可以补充一些常见应用场景,帮助用户将理论应用到实际工作中。</think>`nvidia-smi`(NVIDIA System Management Interface)是 NVIDIA 显卡驱动的命令行工具,用于监控和管理 NVIDIA GPU(图形处理器)的状态。通过运行 `nvidia-smi` 命令,可以实时查看 GPU使用情况、温度、功耗、显存占用等信息。以下是其典型输出的关键部分和含义: --- ### **1. 基础信息** - **Driver Version**:NVIDIA 驱动版本(如 `515.48.07`)。 - **CUDA Version**:支持的 CUDA 版本(如 `11.7`),表示驱动兼容的 CUDA 计算能力。 --- ### **2. GPU 列表** 每个 GPU 会显示以下核心信息(以索引 `0` 的 GPU 为例): ```plaintext | 0 NVIDIA GeForce RTX 3090 On | 00000000:01:00.0 On | N/A | ``` - **GPU ID**:GPU 的索引号(如 `0`),在多 GPU 系统中用于区分不同设备。 - **GPU 名称**:显卡型号(如 `NVIDIA GeForce RTX 3090`)。 - **状态**:`On` 表示正在运行,`Off` 表示未使用或休眠。 --- ### **3. 实时性能指标** ```plaintext |===============================+======================+======================| | 0 NVIDIA GeForce ... Off | 00000000:01:00.0 Off | N/A | | 30% 35C P0 70W / 350W | 4096MiB / 24576MiB | 0% Default | ``` - **GPU 利用率(Utilization)**:`30%` 表示当前 GPU 的计算核心使用率(如深度学习训练或图形渲染)。 - **温度(Temp)**:`35C` 是 GPU 的当前温度。 - **功耗(Power)**:`70W / 350W` 表示当前功耗(70W)和最大设计功耗(350W)。 - **显存占用(Memory Usage)**:`4096MiB / 24576MiB` 表示已用显存(4GB)和总显存(24GB)。 - **计算进程占用(Compute M)**:`0%` 表示计算任务对 GPU 的占用率(如 CUDA 核使用率)。 --- ### **4. 进程信息** ```plaintext | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | 0 N/A N/A 1234 G /usr/lib/xorg/Xorg 50MiB | | 0 N/A N/A 5678 C python3 4000MiB | ``` - **PID**:进程 ID。 - **Type**:进程类型(`G`=图形任务,`C`=计算任务)。 - **Process name**:进程名称(如 `python3` 表示深度学习训练任务)。 - **GPU Memory Usage**:该进程占用的显存。 --- ### **5. 常见应用场景** - **监控负载**:检查 GPU 是否被充分利用(如计算利用率是否接近 100%)。 - **排查问题**:显存占满可能导致程序崩溃,需关闭不必要进程。 - **优化资源分配**:在多任务或多 GPU 系统中合理分配任务。 - **温度管理**:长期高温可能影响硬件寿命,需改善散热。 --- ### **示例命令** ```bash nvidia-smi # 默认输出 nvidia-smi -l 1 # 每秒刷新一次 nvidia-smi --query-gpu=timestamp,name,temperature.gpu --format=csv # 自定义输出 ``` 通过 `nvidia-smi`,用户可以快速了解 GPU 的健康状态和资源使用情况,是深度学习、科学计算和图形处理领域的必备工具。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值