项目地址
https://github.com/Asimok/GPU-Monitor
项目简介
这是一个专注于实时监控GPU资源与模型训练状态的开源平台。其主要功能包括:
- 查看服务器GPU的实时占用率、温度、功耗、显存使用情况。
- 监控模型训练进程,查看训练日志与Loss变化。
- 统计IP访问记录,提升集群安全意识。
- 通过系统公告模块及时推送重要通知。
项目特色
- 技术栈轻量:核心采用 Flask + Sqlite3 + Vue3 + ElementUI-Plus,架构清晰,易于理解和二次开发。
- 快速接入:添加新的待监控服务器通常只需进行简单的配置即可。
- 训练过程可视化:实时掌握模型训练进度与资源消耗,方便调整实验策略。
- 集成日志系统:能够直接跟踪模型训练日志,观察Loss等关键指标的变化趋势。
- 公告模块:支持发布系统公告,便于在多人使用环境中同步重要信息。
- IP统计:记录并展示访问IP,有助于发现异常访问,强化安全管控。
- 资源状态一览:实时预览所有GPU卡的空闲与占用情况,方便快速安排实验。
- 低资源消耗:采用可控的多线程调度策略,对服务器本身的CPU等资源占用极低。
- 部署便捷:支持使用Docker Compose进行一键式容器化部署,环境隔离,开箱即用。
- 易于拓展:代码结构清晰,非常适合作为开源实战或学习Web全栈开发的练手项目。
部署安装
该项目推荐使用Docker Compose进行部署,过程非常简单。
构建镜像
在项目根目录下,执行以下命令构建Docker镜像:
docker-compose build
启动服务
镜像构建完成后,使用以下命令在后台启动所有服务:
docker-compose up -d
重新构建与清理
如果需要彻底清理并重新构建服务,可以执行如下系列命令(请根据实际镜像名称调整):
docker stop gpumonitor_web && docker rm -f gpumonitor_web && docker rmi -f 219.216.65.59:5000/gpumonitor_web:latest && \
docker stop gpumonitor_server && docker rm -f gpumonitor_server && docker rmi -f 219.216.65.59:5000/gpumonitor_server:latest && \
功能界面浏览
部署成功后,访问Web界面即可使用。以下是一些核心功能界面的截图展示:
-
服务器与GPU总览界面
该界面以列表形式清晰展示所有接入的服务器及其上每张GPU卡的实时状态,包括占用率、运行时间等,方便用户全局把控资源。

-
系统公告功能
管理员可以发布系统公告,重要信息会以弹窗形式推送给所有用户,例如通知某台服务器维护或特定GPU卡被预留。

-
GPU详情监控面板
点击具体服务器后,可以进入详情页,查看每张GPU卡的详细指标,如温度、风扇转速、功率、显存占用以及当前使用它的用户和进程。

-
进程详情查看
点击任意占用GPU的进程,可以弹出详情窗口,查看该进程的启动命令、运行时间、占用显存等具体信息。


-
训练日志管理
平台集成了日志管理功能,可以绑定并实时查看模型训练输出的日志文件,直接监控训练过程中的Loss、Epoch、进度等关键信息。


总结
GPU-Monitor 作为一个轻量级的开源监控解决方案,有效解决了中小型实验室或团队在管理多台GPU服务器、协调多人训练任务时遇到的痛点。它通过简洁的Web界面将分散的资源状态和训练信息集中呈现,大大提升了自动化运维效率和资源利用率。如果你正在寻找一个能快速上手、功能聚焦的GPU监控工具,不妨尝试部署体验一下。也欢迎关注云栈社区,获取更多实用的开源工具和技术实践分享。
|