Repolode
facebookincubator

facebookincubator/dynolog

轻量级遥测守护进程,导出 Linux、CPU、GPU 指标,并可为 PyTorch 分布式训练触发按需追踪。

Star
388
Fork
93
未关闭 Issue
33
最近提交
昨天

这是什么?

Dynolog 是面向 CPU-GPU 异构系统的性能监控守护进程,既支持常驻的持续监控,也支持深入的性能剖析。剖析模式通过对守护进程发起远程过程调用触发,本地或远程主机都可以用 `dyno` 命令行工具与之通信。

它采集内核指标(CPU、网络、IO 资源使用),在 Intel 和 AMD CPU 上通过 Linux perf_event 读取硬件 PMU 计数器,并通过 DCGM 采集 NVIDIA GPU 指标。指标可以输出到标准输出、OTLP 端点,或通过可扩展的 Logger 类写入 Meta 内部的 ODS 和 Scuba 系统。

针对 PyTorch 任务,Dynolog 与 PyTorch Profiler(v1.13.0 及以后)集成,可按需跨多张 GPU 触发追踪,也支持在 Slurm 调度的分布式训练作业中协同采集。项目仅面向 Linux,提供 RPM、Debian 安装包及源码编译方式。

核心功能

  • 01在 Linux 上持续采集内核、CPU 和 PMU 指标。
  • 02通过 dyno 命令行远程触发 PyTorch Profiler 按需追踪。
  • 03基于 DCGM 2.x 和 3.x 监控 NVIDIA GPU。
  • 04支持将指标导出到 OTLP 兼容的可观测性后端。
  • 05日志输出目标可扩展,支持 ODS、Scuba、OTLP 和标准输出。

适用场景

  • 在大规模分布式 PyTorch 训练中跨多张 GPU 追踪性能瓶颈。
  • 在生产环境中监控 Linux 服务器的 CPU、网络和 IO 状态。
  • 将 NVIDIA 数据中心主机的 GPU 指标接入现有可观测性系统。

快速上手

  1. 1

    从发布页面下载适合你发行版的安装包

  2. 2

    在 Ubuntu 或 Debian 上安装 deb 包

    sudo dpkg -i dynolog_0.2.1-0-amd64.deb
  3. 3

    使用 systemd 启动 dynolog 服务

    sudo systemctl start dynolog
  4. 4

    使用 dyno 命令行工具检查守护进程是否运行

    dyno status

使用前须知

  • 仅支持 Linux,不支持其他平台。
  • GPU 监控仅适用于 NVIDIA GPU,且需要单独安装 DCGM。
  • GPU 追踪功能需要 PyTorch v1.13.0 或兼容版本。

收录于专题

标签

常见问题

dynolog 是什么?
轻量级遥测守护进程,导出 Linux、CPU、GPU 指标,并可为 PyTorch 分布式训练触发按需追踪。 Dynolog 是面向 CPU-GPU 异构系统的性能监控守护进程,既支持常驻的持续监控,也支持深入的性能剖析。剖析模式通过对守护进程发起远程过程调用触发,本地或远程主机都可以用 `dyno` 命令行工具与之通信。
dynolog 可以免费使用吗?用的什么许可证?
dynolog 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
dynolog 还在维护吗?
活跃维护中。dynolog 最近一次提交是在 2026年11月6日。
dynolog 适合用来做什么?
在大规模分布式 PyTorch 训练中跨多张 GPU 追踪性能瓶颈。 在生产环境中监控 Linux 服务器的 CPU、网络和 IO 状态。 将 NVIDIA 数据中心主机的 GPU 指标接入现有可观测性系统。
dynolog 怎么安装和运行?
从发布页面下载适合你发行版的安装包 在 Ubuntu 或 Debian 上安装 deb 包: sudo dpkg -i dynolog_0.2.1-0-amd64.deb 使用 systemd 启动 dynolog 服务: sudo systemctl start dynolog 使用 dyno 命令行工具检查守护进程是否运行: dyno status
在哪里获取 dynolog?
源代码和安装说明在 GitHub 上:https://github.com/facebookincubator/dynolog

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目