🛠️Tools & CLIYear: 2025Complete

IranTop

A high-performance, visually stunning system monitor TUI for Linux — built with Rust and Ratatui.

IranTop cover
RustRatatuiCrosstermsysinfoLinux

What it is

IranTop is a premium real-time system monitoring tool for Linux power users, written in Rust. It pairs low-level system access with a modern interactive Terminal User Interface (TUI) built on Ratatui — think htop with charting polish and a cleaner design language.

Feature highlights

  • 4 chart modes on the fly — toggle between Line, Bar, Sparkline and Donut views with a single key (v) in real time.
  • Intelligent CPU view — professional split-screen layout: total usage, per-core status and history at once.
  • Live process manager — navigate, search (/), sort by CPU/MEM/PID/name, and kill processes with interactive confirmation popups.
  • Fast & lightweight — Rust zero-cost abstractions and a deliberately minimal resource footprint.
  • Interactive TUI — full mouse support, intuitive keyboard shortcuts and real-time toast notifications.
  • GPU monitoring — native NVIDIA support via nvidia-smi.

Architecture (from the source)

src/
├── main.rs        # entry point
├── app.rs         # app state & orchestration
├── system/        # system data collection (via sysinfo)
├── ui/            # terminal UI rendering
├── theme/         # color themes
├── input/         # keyboard & mouse input handling
└── utils.rs

The code is deliberately small and focused — only three runtime dependencies keep it fast and auditable.

Keybindings

Key Action
q Quit
Tab Switch tabs
v Cycle chart mode (Line / Bar / Sparkline / Donut)
/ Search processes
k / Enter Kill selected process
r Reverse sort
c/m/p/n Sort by CPU / MEM / PID / Name

Dependencies

  • ratatui 0.26 — terminal UI framework
  • crossterm 0.27 — terminal control (events, raw mode, mouse)
  • sysinfo 0.33 — system & process information
  • Plus nvidia-smi at runtime for GPU metrics

Getting started

cargo run --release

Why it stands out

IranTop is a great example of restraint: three dependencies, a clean split between data collection, theming and rendering, and a UI that makes live charts feel at home in a terminal. It shows TUI craftsmanship — smooth redraws, mouse interactions and a visual identity that most terminal tools lack.

More projects