终端实时查看nvidia-smi
时间: 2024-08-09 09:01:32 浏览: 81
要实现在终端实时查看 NVIDIA 显卡的状态信息,可以利用 `nvidia-smi` 工具结合 Linux 的脚本功能,比如使用 Python 或其他 shell 脚本来定期更新并显示 GPU 的状态信息。
### 使用 nvidia-smi 实时监控
#### 通过 Bash 脚本监控
下面是一个简单的 Bash 脚本示例:
```bash
#!/bin/bash
while true; do
nvidia-smi -q -d GPU | grep "GPU Utilization" | awk '{print $6}' > gpu_utilization.txt
sleep 5 # 每隔 5 秒刷新一次数据
done <&-
```
这个脚本会每隔 5 秒从 `nvidia-smi` 获取 GPU 利用率,并将结果保存到名为 `gpu_utilization.txt` 的文件中。
#### 使用 Python 监控
Python 可以提供更丰富的可视化效果和更好的交互体验。例如,可以使用 `psutil` 和 `subprocess` 库来获取系统资源信息,并使用 `matplotlib` 进行图形化展示。
```python
import psutil
from subprocess import check_output
import matplotlib.pyplot as plt
import time
def get_gpu_usage():
output = check_output(["nvidia-smi", "-q", "-d", "GPU"]).decode("utf-8")
lines = output.split('\n')
for line in lines:
if 'GPU Utilization:' in line:
usage_str = line.split(':')[-1].strip()
return int(usage_str)
# 初始化绘图窗口
plt.ion() # 打开交互模式
while True:
plt.clf()
usage = get_gpu_usage()
plt.plot([time.time()], [usage], marker='o')
plt.pause(0.1) # 更新间隔
# 关闭交互模式后自动运行的循环
plt.ioff()
plt.show()
time.sleep(5)
```
注意:上面的 Python 示例需要安装 `psutil`, `matplotlib`, `nvidia-driver-utils` 等库才能运行。你可以使用 `pip install psutil matplotlib` 安装相应的库。
###
阅读全文
相关推荐


















