nvidia-smi入门
介绍
nvidia-smi是一个用于办理和监控NVIDIA GPU(图形处理器)的指令行实用程序。它供给了一个简单而强大的方式来检查GPU的运用状况、温度、内存占用等信息,以及进行一些根本的办理操作。 本篇文章将介绍怎么运用nvidia-smi以及常见的用法和参数选项。
装置
nvidia-smi一般与NVIDIA显卡驱动一起装置。假如您现已装置了适宜的驱动程序,可以在指令行中直接运转nvidia-smi。
plaintextCopy codenvidia-smi
假如nvidia-smi不可用,则需求确保已正确装置NVIDIA显卡驱动。您可以访问NVIDIA官方网站下载和装置最新的显卡驱动程序。
根本用法
运转nvidia-smi指令时,将显现当时体系上一切可用的NVIDIA GPU的相关信息。每个GPU的索引、温度、运用率等信息都会被列出。 运转以下指令以检查体系上的GPU信息:
bashCopy codenvidia-smi
您将会看到类似以下的输出:
plaintextCopy code+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.39 Driver Version: 460.39 CUDA Version: 11.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC || Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|| | MIG M. |
|===============================+======================+======================|
| 0 Tesla T4 Off | 00000000:00:1E.0 Off | 0 |
| N/A 41C P8 8W / 70W | 0MiB / 15109MiB | 0% Default |
|| | N/A |
+-------------------------------+----------------------+----------------------+
此外,nvidia-smi还支撑许多其他指令行选项,以获取更详细的关于GPU的信息以及进行一些办理操作。
常见选项
以下是nvidia-smi指令中常见的选项:
-
--list-gpus
:仅列出GPU的索引、名称和总内存大小。 -
--query-gpu=QUERY
:运用查询句子来获取更详细的GPU信息。例如,运用--query-gpu=temperature.gpu,fan.speed,memory.total,memory.used
可以获取GPU的温度、电扇速度以及内存状况。 -
--format=FORMAT
:指定输出格局,包括csv、json、xml等。 -
--display=DISPLAY
:指定将信息显现在哪个GPU上。 -
--gpu-reset
:重置指定的GPU。 -
--help
:显现帮助信息。
示例
以下是一些示例用法:
-
列出一切GPU的索引和名称:
bashCopy codenvidia-smi –list-gpus
-
获取GPU的温度和内存运用状况:
bashCopy codenvidia-smi –query-gpu=temperature.gpu,memory.used –format=csv
-
显现指定索引的GPU信息:
bashCopy codenvidia-smi –display=1
-
重置指定索引的GPU:
bashCopy codenvidia-smi –gpu-reset=2
我们可以依据实践需求挑选适宜的选项和参数。
定论
nvidia-smi是一个免费的指令行实用程序,用于办理和监控NVIDIA GPU。它供给了丰厚的功用和选项,让用户可以方便地检查GPU的状况、功用和内存运用状况。经过nvidia-smi,用户可以更好地了解和办理他们的GPU资源。 希望本篇文章对您了解和运用nvidia-smi有所帮助。假如您对nvidia-smi还有其他问题,请参阅官方文档或其他资源以获取更多信息。
示例代码:运用nvidia-smi监控GPU温度并发送警报
在一些GPU密集型的运用场景中,对GPU的温度进行及时监控是非常重要的。下面是一个示例代码,运用nvidia-smi获取GPU的温度,并在温度超越阈值时发送警报。
pythonCopy codeimport subprocess
import smtplib
from email.mime.text import MIMEText
def get_gpu_temperature():
result = subprocess.run(['nvidia-smi', '--query-gpu=temperature.gpu', '--format=csv,noheader'], capture_output=True, text=True)
temperatures = result.stdout.strip().split('n')
return [int(temp) for temp in temperatures]
def send_email_alert(message):
sender_email = 'your_email@example.com'
receiver_email = 'recipient_email@example.com'
password = 'your_email_password'
msg = MIMEText(message)
msg['Subject'] = 'GPU Temperature Alert'
msg['From'] = sender_email
msg['To'] = receiver_email
with smtplib.SMTP_SSL('smtp.example.com', 465) as smtp:
smtp.login(sender_email, password)
smtp.send_message(msg)
# 设置温度阈值
temperature_threshold = 80
# 获取GPU温度
gpu_temperatures = get_gpu_temperature()
# 检查是否有GPU温度超越阈值,假如有则发送警报邮件
for i, temp in enumerate(gpu_temperatures):
if temp > temperature_threshold:
message = f'GPU {i} temperature is {temp}C, exceeding the threshold of {temperature_threshold}C!'
send_email_alert(message)
请留意,在运转上述示例代码之前,请确保您的体系已正确装置并配置了nvidia-smi指令行东西,而且您已正确配置了发送邮件的SMTP服务器信息。 上述示例代码经过调用nvidia-smi
指令获取GPU温度信息,并运用subprocess
模块捕获指令执行的输出。然后,它将获取的温度与预先设置的阈值进行比较,假如有任何GPU的温度超越阈值,则会发送一封警报邮件。 您可以依据实践需求进行修正和扩展,例如添加定时检查、记载温度历史数据等功用。
留意:该示例代码仅仅供给了一个根本的结构,实践运用中需求依据具体状况进行适当修正和调整。同时,假如您要捕捉异常并在GPU温度异常时发送警报邮件,还需设置适当的错误处理和循环机制,以保证代码的健壮性和稳定性。别的,在发送邮件时,请合法运用SMTP服务器,并遵守相关的安全和隐私方针。
nvidia-smi的缺陷
- 依赖于NVIDIA驱动程序:nvidia-smi是NVIDIA供给的指令行东西,它依赖于NVIDIA显卡驱动程序的装置和正常运转。假如驱动程序没有正确装置或出现故障,nvidia-smi或许无法正常工作。
- 仅适用于NVIDIA显卡:nvidia-smi只能用于监控和办理NVIDIA显卡,不适用于其他品牌的显卡。这约束了它在一些混合GPU环境中的运用。
- 指令行接口:nvidia-smi是经过指令行接口来进行交互的,关于不熟悉指令行操作的用户来说运用起来或许不行直观和友爱。
- 不支撑实时监控:nvidia-smi是一个静态指令,它供给一次性的GPU信息查询。假如需求实时监控GPU温度等参数,需求运用其他东西或编写自定义脚本。
类似的东西
- GPU-Z:GPU-Z是一款用于监控和显现显卡信息的东西,支撑多种显卡品牌,包括NVIDIA、AMD等。与nvidia-smi相比,GPU-Z供给了更友爱的图形界面,可以动态显现GPU温度、功率、负载等参数,并具有一些额外的功用,如显卡型号辨认、BIOS信息检查等。
- MSI Afterburner:MSI Afterburner是一款显卡超频东西,可以监控和调整NVIDIA和AMD显卡的功用参数。它供给了实时的GPU参数监控,如温度、频率、负载等,并可以经过图表和日志记载来展示显卡的功用改变。除了监控功用,它还支撑显卡调频、电扇操控、视频截取等功用。
- Open Hardware Monitor:Open Hardware Monitor是一款开源的硬件监控东西,除了支撑CPU和内存等硬件信息的监控外,还可以监控GPU的温度、负载和频率等参数。它供给了图形界面和API接口,方便用户实时检查硬件状况,并可以生成陈述和日志记载。 以上列举的东西都可以作为nvidia-smi的替代计划,依据实践需求挑选合适的东西来监控和办理GPU。这些东西供给了更丰厚的功用和更友爱的界面,可以满意不同用户的需求。