天天看点

gpuview:轻量级的GPU状态监控器!

作者:高级前端进阶

大家好,很高兴又见面了,我是"高级前端‬进阶‬",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力。

gpuview:轻量级的GPU状态监控器!

今天给大家带来的主题是 gpuview,即开发者可以通过网络浏览器随时随地监控 GPU的工具。话不多说,直接进入正题!

什么是 gpuview

GPU 是一种昂贵的资源,深度学习从业者必须监控 GPU 的健康状况和使用情况,例如:温度、内存、利用率和用户。 虽然开发者可以通过终端或命令行使用 nvidia-smi 和 gpustat 等工具来完成。 然而,很多时候,通过 ssh 进入服务器来检查 GPU 状态并不方便。 gpuview 旨在通过在 gpustat 之上运行轻量级 Web 仪表板来缓解这一问题。

借助 gpuview,开发者可以通过网络浏览器随时随地监控 GPU。 此外,多个 GPU 服务器可以注册到一个 gpuview 仪表板中,并且所有统计数据都可以从一个位置聚合和访问。

比如下面是跨多个服务器的 GPU 的缩略图视图。

gpuview:轻量级的GPU状态监控器!

如何使用 gpuview

安装 gpuview

gpuview 需要 Python 环境,gpuview 已经过 2.7 和 3 版本测试。

$ pip install gpuview           

或直接从存储库安装:

$ pip install git+https://github.com/fgaim/gpuview.git@master           

gpuview 从 pypi 安装最新版本的 gpustat,因此,可以从终端使用其命令。

使用 gpuview

gpuview 可以以两种模式用作临时进程或后台服务。安装 gpuview 后,可以按如下方式启动:

$ gpuview run --safe-zone           

这将在 http://0.0.0.0:9988 启动仪表板。

默认情况下,gpuview 在 0.0.0.0 和端口 9988 运行,但可以使用 --host 和 --port 更改这些。 safe-zone 选项意味着报告包括用户名在内的所有详细信息,但出于安全原因可以将其关闭。

gpuview 也可以部署为后台服务,从而永久运行 gpuview。然而,这需要 sudo 权限身份验证。以下命令只需执行一次:

$ gpuview service [--safe-zone] [--exlude-self]           

如果成功,gpuview 服务将立即运行,并且也会在启动时自动启动。可以使用 supervisorctl start|stop|restart gpuview 进行控制。

gpuview 高级配置

gpuview 中有几个重要的选项,使用-h 可以查看全部。

$ gpuview -h           

run : 启动 gpuview 仪表板服务器

  • --host : 主机的 URL 或 IP 地址(默认值:0.0.0.0)
  • --port :要监听的端口号(默认:9988)
  • --safe-zone :安全地报告所有详细信息,例如。 用户名
  • --exclude-self : 不向其他人报告,而是向自我仪表板报告
  • -d, --debug :以调试模式运行服务器(针对开发人员)

add : 将 GPU 主机添加到仪表板

  • --url : 主机的 URL [IP:端口],例如。 X.X.X.X:9988
  • --name :主机的可选可读名称,例如。 节点 101

remove:从仪表板中删除已注册的主机

  • --url : 要删除的主机的 URL,例如。 X.X.X.X:9988
  • ports : 打印出所有注册的主机
  • service : 安装 gpuview 作为系统服务
  • --host : 主机的 URL 或 IP 地址(默认值:0.0.0.0)
  • --port :要监听的端口号(默认:9988)
  • --safe-zone :安全地报告所有详细信息,例如。 用户名
  • --exclude-self : 不向其他人报告,而是向自我仪表板报告

-v, --version :打印 gpuview 和 gpustat 的版本

-h, --help : 打印命令行选项的帮助

监控多台主机

要聚合多台计算机的统计信息,可以使用其地址和运行 gpustat 的端口号将它们注册到一个仪表板。 注册一个主机进行监控,如下:

$ gpuview add --url <ip:port> --name <name>           

如下所示可以删除已注册的主机:

$ gpuview remove --url <ip:port> --name <name>           

显示所有注册的主机如下:

$ gpuview hosts           

注意:gpuview 服务需要在所有要监控的主机上运行。 提示:gpuview 可以在没有 GPU 的计算机(例如:笔记本电脑)上设置,以监控远程 GPU 服务器。

gpuview 安全模式

gpustat 存储库中提供了与基础性能相关的有用提示。

为了简单起见,gpuview 没有进行用户身份验证。 作为一项安全措施,它默认不报告用户名等敏感详细信息。 如果服务在受信任的网络中运行,则可以更改此设置,使用 --safe-zone 选项报告所有详细信息。

run 命令的 --exclude-self 选项可用于防止其他仪表板获取当前计算机的统计信息。 这样,统计数据仅显示在主机自己的仪表板上。

下面是跨多个服务器的 GPU 的详细视图。

gpuview:轻量级的GPU状态监控器!

本文总结

本文主要和大家介绍 gpuview,即开发者可以通过网络浏览器随时随地监控 GPU的工具。相信通过本文的阅读,大家对 gpuview 会有一个初步的了解。

因为篇幅有限,关于 gpuview 的更多用法和特性文章并没有过多展开,如果有兴趣,可以在我的主页继续阅读,同时文末的参考资料提供了大量优秀文档以供学习。最后,欢迎大家点赞、评论、转发、收藏,您的支持是我不断创作的动力。

参考资料

https://github.com/cornuwel/nvidia-smi

https://github.com/fgaim/gpuview

下一篇: 狮子座小传

继续阅读