guest@6admin.io:~$

htop: top's replacement

top has existed since 1984 and it is ugly. The interface is rigid, the keys are obscure, the tree view does not exist and sorting by memory requires reading the man page. htop does everything top does, better and it fits in a terminal.

What htop brings

  • Horizontal and vertical scrolling: process lines are no longer truncated;
  • Tree view (F5): who spawned whom, the parent/child in visual form, threads indented under their parent process;
  • Interactive sort (F6): by CPU, by memory, by PID, by USER, without restarting;
  • Interactive kill (F9): select a process, choose the signal, confirm. No kill -9 12345 typed in another terminal;
  • CPU gauges per core at the top of the screen, in color, in real time;
  • The filter (F4): type a pattern and only matching processes are visible;
  • The setup (F2): choose columns, colors, gauges and save to ~/.config/htop/htoprc.

The keys that matter

F1  Help
F2  Setup
F3  Search (incremental)
F4  Filter
F5  Tree view
F6  Sort
F7  Nice - (raise priority)
F8  Nice + (lower priority)
F9  Kill (send a signal)
F10 Quit

F9 is the most used: select a process eating all the CPU, F9, SIGTERM (15) and if that is not enough, F9 SIGKILL (9). All in the same screen, without leaving htop.

What top keeps

top is lighter (htop uses ncurses and consumes slightly more) and it is present on minimal systems where htop is not installed. On a minimal server (no non-essential packages), top is what remains.

[edit: 2026] htop became the de facto default on dev workstations and version 3.x added cgroup support (gauges show container limits), CPU affinity mode and thread zooming. It is still in C, still ncurses, still free. top is still there, in minimal Docker images, where htop does not belong.