btop of your resources
btop
is now my default terminal resource monitor, supplanting top
, htop
, and all the others of that ilk. I wanted to spare a few words for its beautiful (and functional!) text-based user interface (TUI):
- pane management:
btop
divides your terminal window into multiple information-dense panes displaying CPU, memory, network, and process information simultaneously. What’s fantastic aboutbtop
is that user ergonomics and customisation are clearly front and centre: each pane is numbered, and toggling off/on a pane is as simple as pressing the corresponding pane number. Instead of fiddling with a config file and refreshing (as many other command-line tools require), you can effortlessly switch between panes on-the-fly. - command input: In a similar vein, attached to each pane is a set of commands that configure that view. A single letter of the command is highlighted in red, and pressing that letter will toggle that filter/sort/configuration in that panel. Putting the commands front-and-centre shifts the mental burden of recalling “What command displays my processes hierarchically” (
e
) from searching the manual to just looking at the screen. - global configuration: if you want your customisations to be sticky across sessions, there’s a cleanly navigable and expressive configuration window that lets you apply globally persistent configurations. This is much nicer than setting command line flags or editing a config file.
- cursor support: Despite running in a terminal, you can simply click on processes to select them, or use scroll wheels to navigate long lists. This blending of terminal efficiency with GUI-like interactions creates a really slick experience that respects both keyboard purists and those who don’t mind the forbidden practice of mouse navigation.
- process management: As an added bonus, selecting any process will allow you to send any signal straight from the TUI.
What makes btop
stand out is its intuitive keyboard navigation system. Unlike many other CLIs, btop
maps essential functions to single keystrokes. This design philosophy means the interaction mode gets out of the way - toggling through complex system information and controls is always just a keystroke away. To borrow from The Design of Everyday Things, this feels like a set of masterfully crafted affordances.
Of course, this only works because of the constraints of what btop
provides - unlike other CLIs with more complex combinations of configurations, resource management is effectively a set of independent components tied together into a master ‘view controller’.