bpftop provides a dynamic real-time view of running eBPF programs. It displays the average runtime, events per second, and estimated total CPU % for each program.
See the code
bpftop provides a dynamic real-time view of running eBPF programs. It displays the average runtime, events per second, and estimated total CPU % for each program. It also provides graphical views of these statistics over time. This tool minimizes overhead by enabling performance statistics only while it is active.

The install script downloads the latest release for your architecture (x86_64 or aarch64), verifies its SHA-256 against the digest published by GitHub, and installs it to ~/.local/bin (or /usr/local/bin when run as root):
curl -fsSL https://bpftop.sh/install | sh
Pass --version <tag> to pin a specific release or --bin-dir <path> to choose the install directory. Run the script with --help to see all options.
Or install via your distribution's package manager:
You can install bpftop from the official repositories using dnf:
sudo dnf install bpftop
You can install bpftop from the official repositories using pacman:
sudo pacman -S bpftop
Install bpftop from nixpkgs:
nix profile install nixpkgs#bpftop
-d/--delay option (1-3600 seconds)bpftop requires sudo privileges to run.libz and libelf, so these libraries must be present on the systems where you intend to run bpftop.Run the following command to start bpftop on your host:
sudo bpftop
-d, --delay <SECONDS>: Set refresh interval (1-3600 seconds, default: 1)-h, --help: Show help information-V, --version: Show version informationExamples:
# Start with default 1-second refresh
sudo bpftop
# Update every 2 seconds
sudo bpftop -d 2
# Update every 5 seconds
sudo bpftop --delay 5
Once running, use these keyboard shortcuts:
Navigation:
↑/↓ or k/j: Navigate up/down through the program listEnter: Switch to graphical view for the selected programq: Quit the applicationFeatures:
f: Filter programs by name or types: Sort programs by different columns (use arrow keys to select column and direction)In graph view:
Enter or q: Return to the main program listWhen you select a program, bpftop displays additional information including:
bpftop logs operational information to the systemd journal when available. You can view these logs using:
journalctl _COMM=bpftop
Common log entries include:
bpftop uses the BPF_ENABLE_STATS BPF syscall command to enable global eBPF runtime statistics gathering, which is disabled by default to reduce performance overhead. It collects these statistics every second, calculating the average runtime, events per second, and estimated CPU utilization for each eBPF program within that sample period. This information is displayed in a top-like tabular format. Once bpftop terminates, it disables the statistics-gathering function by deleting the file descriptor returned by BPF_ENABLE_STATS.
Install required dependencies:
# Ubuntu/Debian
sudo apt-get install -y zlib1g-dev libelf-dev clang libbpf-dev
# Fedora/RHEL
sudo dnf install -y zlib-devel elfutils-libelf-devel clang libbpf-devel
# Development build
cargo build
# Release build
cargo build --release
Alternatively, the repository ships a Nix flake with a pinned dev shell that includes clang, libbpf, and the Rust toolchain:
nix develop
cargo build --release
"This program must be run as root"
sudo privileges. eBPF statistics collection requires root access.No programs displayed
bpftrace, bcc-tools, or other eBPF utilities) to see them in bpftopTerminal display issues
Missing libraries error
libz and libelfsudo apt-get install zlib1g-dev libelf-devView application logs:
# View all bpftop logs
journalctl _COMM=bpftop
# Follow logs in real-time
journalctl _COMM=bpftop -f
# View logs from last boot
journalctl _COMM=bpftop -b
The logs include information about:
This repository was formerly maintained by Netflix. It is now an independent project maintained by Jose Fernandez. Netflix is no longer affiliated with this tool's development.
(top 24 of 98)
2,189 followers · starred Feb 2024
2,767 followers · starred Feb 2024
405 followers · starred Feb 2024
623 followers · starred Feb 2024
bpftop provides a dynamic real-time view of running eBPF programs. It displays the average runtime, events per second, and estimated total CPU % for each program.
See the code
bpftop provides a dynamic real-time view of running eBPF programs. It displays the average runtime, events per second, and estimated total CPU % for each program. It also provides graphical views of these statistics over time. This tool minimizes overhead by enabling performance statistics only while it is active.

The install script downloads the latest release for your architecture (x86_64 or aarch64), verifies its SHA-256 against the digest published by GitHub, and installs it to ~/.local/bin (or /usr/local/bin when run as root):
curl -fsSL https://bpftop.sh/install | sh
Pass --version <tag> to pin a specific release or --bin-dir <path> to choose the install directory. Run the script with --help to see all options.
Or install via your distribution's package manager:
You can install bpftop from the official repositories using dnf:
sudo dnf install bpftop
You can install bpftop from the official repositories using pacman:
sudo pacman -S bpftop
Install bpftop from nixpkgs:
nix profile install nixpkgs#bpftop
-d/--delay option (1-3600 seconds)bpftop requires sudo privileges to run.libz and libelf, so these libraries must be present on the systems where you intend to run bpftop.Run the following command to start bpftop on your host:
sudo bpftop
-d, --delay <SECONDS>: Set refresh interval (1-3600 seconds, default: 1)-h, --help: Show help information-V, --version: Show version informationExamples:
# Start with default 1-second refresh
sudo bpftop
# Update every 2 seconds
sudo bpftop -d 2
# Update every 5 seconds
sudo bpftop --delay 5
Once running, use these keyboard shortcuts:
Navigation:
↑/↓ or k/j: Navigate up/down through the program listEnter: Switch to graphical view for the selected programq: Quit the applicationFeatures:
f: Filter programs by name or types: Sort programs by different columns (use arrow keys to select column and direction)In graph view:
Enter or q: Return to the main program listWhen you select a program, bpftop displays additional information including:
bpftop logs operational information to the systemd journal when available. You can view these logs using:
journalctl _COMM=bpftop
Common log entries include:
bpftop uses the BPF_ENABLE_STATS BPF syscall command to enable global eBPF runtime statistics gathering, which is disabled by default to reduce performance overhead. It collects these statistics every second, calculating the average runtime, events per second, and estimated CPU utilization for each eBPF program within that sample period. This information is displayed in a top-like tabular format. Once bpftop terminates, it disables the statistics-gathering function by deleting the file descriptor returned by BPF_ENABLE_STATS.
Install required dependencies:
# Ubuntu/Debian
sudo apt-get install -y zlib1g-dev libelf-dev clang libbpf-dev
# Fedora/RHEL
sudo dnf install -y zlib-devel elfutils-libelf-devel clang libbpf-devel
# Development build
cargo build
# Release build
cargo build --release
Alternatively, the repository ships a Nix flake with a pinned dev shell that includes clang, libbpf, and the Rust toolchain:
nix develop
cargo build --release
"This program must be run as root"
sudo privileges. eBPF statistics collection requires root access.No programs displayed
bpftrace, bcc-tools, or other eBPF utilities) to see them in bpftopTerminal display issues
Missing libraries error
libz and libelfsudo apt-get install zlib1g-dev libelf-devView application logs:
# View all bpftop logs
journalctl _COMM=bpftop
# Follow logs in real-time
journalctl _COMM=bpftop -f
# View logs from last boot
journalctl _COMM=bpftop -b
The logs include information about:
This repository was formerly maintained by Netflix. It is now an independent project maintained by Jose Fernandez. Netflix is no longer affiliated with this tool's development.
(top 24 of 98)
2,189 followers · starred Feb 2024
2,767 followers · starred Feb 2024
405 followers · starred Feb 2024
623 followers · starred Feb 2024