DEV Community

Josh
Josh

Posted on

pstop: I built htop for Windows in Rust

pstop: htop for Windows PowerShell

If you've ever wanted htop on Windows without WSL or Cygwin, that's exactly what pstop does. It's a real time system monitor built in Rust that runs in your terminal.

pstop demo

Install

cargo install pstop
Enter fullscreen mode Exit fullscreen mode

This installs both pstop and htop commands. Yes, you can type htop on Windows.

Don't have Rust? Install it from rustup.rs (takes about 30 seconds).

What it does

Header:

  • Per core CPU bars, color coded by usage type (user/system/virtual)
  • Memory bar showing used, buffers, cached
  • Swap bar with usage threshold
  • Network bar with live RX/TX throughput

Process table:

  • PID, USER, CPU%, MEM%, TIME+, Command
  • Sort by any column (click header or F6)
  • Search (F3) and filter (F4) in real time

Views:

  • Main: full process table
  • I/O: disk read/write rates per process
  • Net: network focused view

Tree view:
Press F5 to see parent/child process hierarchy with collapsible nodes.

F2 Setup menu:

  • Meters: configure header layout
  • Display Options: 14 toggleable settings
  • Colors: 7 built in schemes with live preview
  • Columns: add/remove/reorder visible columns

Color schemes

  1. Default (classic htop green/cyan)
  2. Monochrome
  3. Black Night
  4. Light Terminal
  5. Midnight Commander
  6. Black on White
  7. Dark Vivid

Performance

  • ~1 MB single binary (release build with LTO + strip)
  • 50ms event polling
  • Configurable refresh rate (200ms to 10s)
  • Native Win32 API calls
  • Zero runtime dependencies

Tech stack

  • Rust
  • ratatui 0.29 (TUI framework)
  • crossterm 0.28 (terminal backend)
  • sysinfo 0.33 (system information)
  • windows 0.58 (native Win32 APIs)

Links

MIT licensed. Contributions welcome.

Top comments (0)