Repolode
jfernandez

jfernandez/bpftop

一款终端版 top 工具,实时显示正在运行的 eBPF 程序及其运行时间、事件频率和估算 CPU 占用。

Star
2,709
Fork
130
未关闭 Issue
5
最近提交
2个月前

这是什么?

bpftop 以类似 top 的实时界面展示 Linux 主机上所有已加载的 eBPF 程序。每个程序显示平均运行时间、每秒事件数以及估算的 CPU 占比,并可将这些指标绘制成随时间变化的图表。

工具仅在运行期间开启 eBPF 运行统计,退出时自动关闭,因此不使用时几乎没有额外开销。运行需要 root 权限,内核版本需为 5.8 或更高;更旧的内核通过 procfs 方式兼容。

项目使用 C 编写,以单个二进制文件发布,动态链接 libz 和 libelf。提供 x86_64 与 aarch64 的安装脚本,并已进入 Fedora、Arch Linux 和 Nix 的软件源。

核心功能

  • 01列出所有正在运行的 eBPF 程序,包括 ID、类型和名称。
  • 02显示每个程序的平均运行时间、每秒事件数和估算 CPU 占用。
  • 03以图表形式展示指标随时间的变化。
  • 04支持方向键或 vim 风格的 j/k 导航,并可按名称或类型过滤、按列排序。
  • 05显示引用每个 eBPF 程序的进程名和 PID。
  • 06刷新间隔可在 1 到 3600 秒之间设置。

适用场景

  • 在 Linux 服务器上找出占用 CPU 最多的 eBPF 程序。
  • 排查由 eBPF 追踪或网络工具带来的性能开销。
  • 查看哪些进程正在引用某个 eBPF 程序。

快速上手

  1. 1

    运行 README 中的官方安装脚本

  2. 2

    使用 sudo 启动 bpftop

    sudo bpftop

使用前须知

  • 运行需要 sudo/root 权限。
  • 需要 Linux 内核 5.8 或更高版本,并且系统中必须存在 libz 和 libelf。

标签

常见问题

bpftop 是什么?
一款终端版 top 工具,实时显示正在运行的 eBPF 程序及其运行时间、事件频率和估算 CPU 占用。 bpftop 以类似 top 的实时界面展示 Linux 主机上所有已加载的 eBPF 程序。每个程序显示平均运行时间、每秒事件数以及估算的 CPU 占比,并可将这些指标绘制成随时间变化的图表。
bpftop 可以免费使用吗?用的什么许可证?
bpftop 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
bpftop 还在维护吗?
半年内有更新。bpftop 最近一次提交是在 2026年9月1日。
bpftop 适合用来做什么?
在 Linux 服务器上找出占用 CPU 最多的 eBPF 程序。 排查由 eBPF 追踪或网络工具带来的性能开销。 查看哪些进程正在引用某个 eBPF 程序。
bpftop 怎么安装和运行?
运行 README 中的官方安装脚本 使用 sudo 启动 bpftop: sudo bpftop
在哪里获取 bpftop?
源代码和安装说明在 GitHub 上:https://github.com/jfernandez/bpftop

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

相关项目