GPU Taskman 能提供详细的按进程显存监控、GPU 遥测数据,甚至还能深入分析本地 AI 模型的内存占用情况。

你是否曾好奇过,GPU 的显存到底都被什么占用了?微软(Microsoft) / GitHub 的副总裁兼技术团队成员 斯科特·汉塞尔曼(Scott Hanselman) 开发了一款名为 GPU Taskman(gputaskman)的开源工具,试图以比传统监控工具精细得多的方式回答这个问题。

FI-25.jpeg

11月3日,汉塞尔曼在 X 上发帖解释说,他希望能更清楚地了解究竟是什么在占用自己的 GPU 内存,并邀请其他开发者参与这个项目。

标准的 Windows 任务管理器虽然已经提供按进程统计的 GPU 内存数据,但 GPU Taskman 更进一步,将显存占用、GPU 可访问的系统内存、各进程活动以及硬件遥测数据整合到单一的终端界面中。

该工具显示 GPU 利用率、显存使用量、温度、功耗、时钟频率、内存活动以及 PCIe 统计等信息,同时还会列出占用 GPU 资源的各个进程明细。

它还能区分不同类型的工作负载,包括桌面合成、网页浏览器、游戏和 AI 应用。在排查显存占用过高的问题,或判断 GPU 为何大量依赖系统内存时,这一功能尤其有用。

GPU Taskman 还能识别 AI 模型及其内存需求

或许最有趣的功能是它对本地 AI 工作负载的支持。根据该项目的 GitHub 文档,GPU Taskman 可以识别受支持的 AI 模型,并提供有关其架构、量化方式、参数数量、模型权重以及预估 KV 缓存需求的额外信息。

该工具目前能识别多种 AI 运行时和应用,包括 llama.cpp、Ollama 和 LM Studio,不过详细信息的多寡取决于运行时类型和可获取的信息。

例如,GPU Taskman 不会只报告某个 AI 应用占用了数 GB 显存,而是能帮助区分分配给模型权重的内存,与分配给 KV 缓存和计算缓冲区的内存。

它通过将操作系统的 GPU 计数器与进程元数据、模型文件、运行时日志和本地 API 的信息相结合来实现这一点。需要注意的是,部分模型相关的数值是估算值,而非直接测量得到的 GPU 分配量。

除了 AI 领域,GPU Taskman 对排查内存相关性能问题的 PC 游戏玩家也很有用。正如我们此前所讨论的,当应用越来越依赖较慢的系统内存时,过高的显存压力会导致卡顿。

不过,汉塞尔曼提醒说,GPU 可访问的系统内存占用并不一定意味着显存溢出,同时该工具也无法识别单个游戏纹理,或精确判断哪些资源已被逐出。

支持 Windows、Linux 和 macOS

GPU Taskman 支持 Windows 10 / 11 上的 英伟达(NVIDIA) 和 AMD GPU,同时也支持 Linux、WSL 和 Apple Silicon macOS 系统,具体功能因平台和硬件而异。

开发进展迅速。11月10日发布的最新 v0.3.5 版本新增了对 Linux 上 英特尔(Intel) GPU 的支持、CPU 和系统内存监控,以及记录 GPU 统计数据的更多选项。

该工具基于 MIT 许可证分发,可通过其 GitHub Releases 页面下载。Windows 便携版无需单独安装 Python 即可使用,用户也可以通过 PyPI 安装该应用。

GPU Taskman 目前仍属实验性软件,部分监控功能还需要在不同硬件配置上进一步验证。尽管如此,它看起来已经是爱好者、开发者以及所有想确切了解自己 GPU 资源如何被利用的人,工具箱中一个有用的新成员。


文章标签: #GPU监控 #显存分析 #开源工具 #AI模型 #微软
菠萝老师先生

负责编辑

  让你的每一个瞬间都充满意义地生活,因为在生命的尽头,衡量的不是你活了多少年,而是你如何度过这些年。