告别黑窗口!GPU实时监控神器:GPU Hot
还在用 nvidia-smi 命令苦苦刷新,盯着黑乎乎的命令行监控你的 NVIDIA GPU 状态吗?效率低下,信息不直观,而且远程操作更是麻烦。今天,我来给大家安利一款开源的实时 GPU 监控神器——GPU Hot!
它提供了一个美观、实时、Web 界面的 NVIDIA GPU 仪表盘,让你彻底告别传统的命令行监控方式,将复杂的 GPU 数据可视化,尽在掌握。
GPU Hot 是什么?
GPU Hot 是一个基于 Flask + WebSocket 构建的轻量级应用,它能够实时(亚秒级)获取 NVIDIA GPU 的各项指标,并通过一个现代化的 Web 界面展示出来。无论是单机还是多节点集群,它都能轻松应对。
核心特性一览
- ⚡️ 实时数据:亚秒级更新 GPU 各项指标,响应迅速。
- 📊 多 GPU 支持:自动检测多块 NVIDIA 显卡。
- 🕵️♀️ 进程监控:查看是哪个进程占用了 GPU 资源(PID、内存使用)。
- 📈 历史图表:提供利用率、温度、功耗、频率等历史数据走势图。
- 🖥️ 系统概览:同时显示 CPU 和 RAM 等系统核心指标。
- 🚀 极致扩展性:轻松管理 1 到 100+ 块 GPU 的集群。
它能监控的指标包括:利用率、温度、内存使用、功耗、风扇转速、核心/显存频率、PCIe 信息、P-State、节流状态以及编解码会话等。
告别 SSH,一键部署
GPU Hot 的部署异常简单,只需 Docker 即可。无需繁琐的 SSH 配置,一行命令就能启动你的 GPU 监控中心!
单机部署
如果你只有一台机器需要监控:
bash
docker run -d --gpus all -p 1312:1312 ghcr.io/psalias2006/gpu-hot:latest
运行后,在浏览器中访问 http://localhost:1312 即可。
多机集群部署
对于拥有多台 GPU 服务器的场景,GPU Hot 提供了 Hub 模式,让你在一个中心仪表盘上总览所有节点:
-
在每台 GPU 服务器上运行节点服务:
bash
docker run -d --gpus all -p 1312:1312 -e NODE_NAME=$(hostname) ghcr.io/psalias2006/gpu-hot:latest -
在任意一台机器(无需 GPU)上运行 Hub 服务:
bash
docker run -d -p 1312:1312 -e GPU_HOT_MODE=hub -e NODE_URLS=http://server1:1312,http://server2:1312,http://server3:1312 ghcr.io/psalias2006/gpu-hot:latest记得将
server1,server2,server3替换为实际的 GPU 服务器 IP 或域名。
小贴士:
* 如果老旧 GPU 无法显示指标,尝试添加 -e NVIDIA_SMI=true。
* 要查看进程名称,请添加 --init --pid=host(注意:这将允许容器访问宿主机进程信息)。
进阶配置与 API
GPU Hot 提供了丰富的环境变量供你自定义,例如指定监控的 GPU (NVIDIA_VISIBLE_DEVICES)、节点显示名称 (NODE_NAME) 等。
它还暴露了 HTTP API (/api/gpu-data) 和 WebSocket 接口 (socket.on('gpu_data', ...)),方便开发者将其集成到自己的应用或服务中,实现更灵活的自定义。
总结
GPU Hot 不仅仅是一个监控工具,它更是一个提升工作效率、简化 GPU 管理的利器。无论你是机器学习工程师、数据科学家还是运维人员,这款开源工具都能为你带来直观、高效的 GPU 监控体验。告别繁琐的命令行,迎接现代化的 Web 仪表盘吧!
评论区