gtop is a native, GPU-accelerated system monitor that provides real-time insight into your system's performance. Built with GPUI Component — the UI framework behind Zed Editor.
- Real-time CPU & Memory charts — smooth animated area charts with 120-point history
- Per-core CPU usage — color-coded grid showing individual core loads
- Process manager — sortable, searchable process table with right-click to kill
- Network monitoring — live upload/download rates
- Disk & Battery — storage usage and battery status at a glance
- CPU temperature — thermal monitoring (when sensors are available)
- Native look & feel — follows system dark/light theme, macOS-native title bar
- Smooth animations — interpolated metrics and tab transitions
- Rust (edition 2024, nightly recommended)
- Platform dependencies for GPUI:
- macOS: Xcode Command Line Tools
- Linux: see GPUI Linux dependencies
- Windows: Visual Studio Build Tools with C++ workload
# Clone the repository
git clone https://github.com/zhy0216/gtop.git
cd gtop
# Build and run (release mode recommended for performance)
cargo run --release| Shortcut | Action |
|---|---|
Cmd+Q (macOS) / Alt+F4 (Windows/Linux) |
Quit |
| Right-click on process | Kill process |
gtop/
├── src/
│ └── main.rs # Application entry point & all UI
├── crates/
│ ├── ui/ # gpui-component UI library
│ ├── assets/ # Icons and static assets
│ └── macros/ # Procedural macros
├── Cargo.toml # Workspace configuration
└── README.md
| System | Processes |
|---|---|
![]() |
![]() |
- GPUI — GPU-accelerated UI framework from Zed
- gpui-component — Component library for GPUI
- sysinfo — System information gathering
- battery — Cross-platform battery monitoring
This project is built on top of gpui-component by Longbridge. Thanks for the excellent GPUI component library that makes building native desktop UIs in Rust a joy.
Contributions are welcome! Please feel free to open an issue or submit a pull request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request

