stream_top is a specialized real-time monitor designed specifically for Raspberry Pi power users running high-performance video streams, RTMP servers, or advanced camera applications.
| Raspberry Pi Zero 2 W (Compact) | Raspberry Pi 4B (High Performance) |
|---|---|
![]() |
![]() |
| Optimized for 512MB RAM | Monitoring large CMA & DMA buffers |
Standard tools like htop can't show you why your camera is failing. stream_top uses a unique three-zone bar system to expose the "invisible" memory states of the Linux kernel and the Pi Video Stack.
| Symbol | Meaning | Description |
|---|---|---|
#### |
Active (Green) | Memory actively filled with data (App code or live video frames). |
:::: |
Buffer/Res (Blue) | Reserved space. (Kernel Cache for RAM / Pre-allocated buffers for CMA). |
---- |
Free (Gray) | Truly empty memory, available for new tasks. |
Example: RAM Usage: [#######::::::::::---]
This shows that while your apps only use a little RAM (Green), the system is efficiently using the rest for caching (Blue), with a small safety margin (Gray).
- CMA Map (Act/Res/Tot): Tracks the Contiguous Memory Allocation.
- Active: Actual frames currently in the pipeline (Hardware load).
- Reserved: What the camera system has "booked" to prevent frame drops.
- Total: Your absolute hardware limit set in
config.txt.
- DMA-Buffer Breakdown: Deep-dive into memory allocation by component (e.g., Camera App vs. GPU Shared).
- Network Health: Real-time Transmit Errors/Drops per second. Instantly see if your WiFi is choking.
- Hardware Sensors: VPU Volts, H.264 Clocks, and Throttling status (Under-voltage/Thermal).
- Integrated Service Logs: Live
stream.service(systemd) logs synced with hardware metrics in one view.
Install dependencies via your package manager: bash:
sudo apt update && sudo apt install gawk procps coreutils systemd
- Setup Clone the repository and set permissions:
git clone https://github.com/axeljerabek/stream_top.git cd stream_top chmod +x stream_top
- Run
sudo ./stream_top
Note: Sudo is required to access the kernel's DMA debug interface (/sys/kernel/debug/dma_buf/bufinfo).
🎮 Interactive Controls The dashboard is fully interactive. No need to restart the script to change views:
- / - : Adjust Refresh Speed (Current interval is shown in the footer).
, / . : Log Depth (Show more or fewer lines of your service logs).
c : Color Schemes (Cycle through three professional UI modes).
q : Exit safely.
💡 Quick Diagnostic Guide CMA Act vs Res: If Act is high, your stream is busy. If Res is near Tot, your camera app is pre-allocating everything it can to stay stable.
Net Errs/s > 0: Your network is dropping frames. Lower your bitrate or check your WiFi signal.
Throttled Status: If it says anything other than "None", your Power Supply is too weak or your Pi is too hot. High-quality streaming requires stable 5.1V power.
📜 License: MIT | Developed by Axel Jerabek

