如何动态监控显卡运行状态,显存及各项资源消耗情况?【Linux+Windows】技术方案详解。
在Linux系统中,动态监控显卡运行状态时,nvidia-smi -l 1 虽然简单,但屏幕会因刷新而闪烁。
为了避免闪烁并实现更友好的动态监控,可以考虑以下工具和命令,它们提供更稳定的界面或更灵活的输出方式:
1、nvidia-smi 的变体命令
- 使用 watch 命令包装 nvidia-smi:
watch -n 1 nvidia-smi
注意这里的 1 是每间隔1秒刷新一次,这里的时间区间你也可以设置成其他数字
watch 会在终端中定期执行 nvidia-smi,默认清屏刷新,但可以通过 -d 参数启用差异高亮,减少视觉闪烁:
watch -d -n 1 nvidia-smi
这里的 -n 1 表示每秒刷新一次,-d 只高亮变化部分,减少屏幕跳动感。
2、nvtop
- nvtop 是一个类似 htop 的交互式显卡监控工具,界面直观且无闪烁,显示GPU利用率、显存、温度等信息。
- 安装(以Ubuntu为例):
sudo apt install nvtop
- 运行:
nvtop
优点:实时更新,界面稳定,支持多GPU监控,显示内容丰富且易读。
3、gpustat
- gpustat 是一个轻量级的Python工具,提供简洁的显卡状态概览,更新时无明显闪烁。
-
安装:
pip install gpustat
运行:
gpustat -i
- -i 参数启用交互模式,定期刷新(默认1秒)。可以通过 --interval 自定义刷新间隔,如 gpustat -i --interval 2。
- 优点:输出简洁,适合脚本或终端使用,闪烁较少。
telegraf + InfluxDB + Grafana(高级方案)
- 如果需要长期监控并可视化显卡状态,可以使用 telegraf 收集数据,存入 InfluxDB,然后通过 Grafana 展示。
- 配置步骤:
- 安装 telegraf,并启用 nvidia-smi 输入插件。
- 配置 telegraf.conf,添加:
[[inputs.nvidia_smi]] interval = "1s"
3. 将数据存入 InfluxDB,用 Grafana 创建实时仪表盘。
- 优点:无终端闪烁,适合远程监控和历史数据分析;缺点是配置稍复杂。
5、htop 风格的工具:glances
- glances 是一个系统监控工具,支持通过插件监控NVIDIA显卡。
- 安装:
sudo apt install glances
运行:
glances
- 确保已安装 nvidia-smi,glances 会自动显示GPU相关信息。
- 优点:界面友好,综合监控CPU、内存、GPU等,更新平滑。
推荐选择:
- 如果你想要简单、即插即用的方案,watch -d -n 1 nvidia-smi 是最直接的改进,减少闪烁。
- 如果需要更现代的界面,nvtop 或 gpustat 是不错的选择,安装简单且体验流畅。
- 对于长期监控或远程访问,telegraf + Grafana 更适合,但需要更多配置时间。

浙公网安备 33010602011771号