本文目录导读:

- Python + GPUtil(推荐)
- Windows - PowerShell + nvidia-smi
- Linux - Bash + nvidia-smi
- 跨平台 Python 方案(pyadl)
- AMD 显卡专用
- 注意事项
获取显卡性能信息通常需要借助系统工具或编程接口,以下是几种常见脚本方法:
Python + GPUtil(推荐)
import GPUtil
import time
while True:
gpus = GPUtil.getGPUs()
for gpu in gpus:
print(f"GPU: {gpu.name}")
print(f"负载: {gpu.load * 100:.1f}%")
print(f"显存使用: {gpu.memoryUsed}/{gpu.memoryTotal} MB")
print(f"温度: {gpu.temperature}°C")
print("-" * 30)
time.sleep(5)
安装:pip install gputil
Windows - PowerShell + nvidia-smi
while ($true) {
$gpu = nvidia-smi --query-gpu=name,utilization.gpu,memory.used,memory.total,temperature.gpu --format=csv,noheader,nounits
Write-Output $gpu
Start-Sleep -Seconds 5
}
简化版:
nvidia-smi --query-gpu=utilization.gpu,memory.used,temperature.gpu --format=csv -l 5
Linux - Bash + nvidia-smi
#!/bin/bash
while true; do
clear
nvidia-smi --query-gpu=name,utilization.gpu,memory.used,memory.total,temperature.gpu --format=csv,noheader
sleep 5
done
持续监控模式:
watch -n 5 nvidia-smi --query-gpu=utilization.gpu,memory.used,temperature.gpu --format=csv
跨平台 Python 方案(pyadl)
import pyadl
import time
while True:
devices = pyadl.ADLManager.getInstance().getDevices()
for device in devices:
print(f"GPU: {device.adapterName}")
print(f"使用率: {device.getCurrentUsage()}%")
print(f"温度: {device.getCurrentTemperature()}°C")
print("-" * 30)
time.sleep(5)
安装:pip install pyadl
AMD 显卡专用
Windows PowerShell:
# 需要安装 AMDCpu 或使用 rocm-smi
while ($true) {
rocm-smi --showuse --showtemp --showmeminfo
Start-Sleep -Seconds 5
}
Linux Bash:
while true; do
clear
rocm-smi --showuse --showtemp --showmeminfo
sleep 5
done
注意事项
- nvidia-smi 需要 NVIDIA 显卡驱动
- GPUtil 底层也调用 nvidia-smi
- AMD 显卡 需要不同工具(rocm-smi 或 Adrenalin)
- 集成显卡 通常需要用 CPU 监控工具获取
推荐使用方案 1(Python+GPUtil),兼容性和易用性最好。