btop – the htop alternative

Meet btop, an aesthetically pleasing system resource monitor showing usage and stats for processor, memory, disks, network, and processes. btop is the lighter and faster C++ version and continuation of bashtop and bpytop.

Over the years, the available options for command-line system monitoring tools have grown quite a bit. There is top, htop, glances, nmonytop, gtop, vtop, and atop, to name a few.

When it comes to Linux administration, monitoring your system’s performance and use of hardware resources in real-time is very important. Especially for production server environments.

btop - A monitor of resources
btop – displaying real-time usage and stats for processor, memory, storage, network, and processes. 

 

Using btop to monitor system resources

First, download and install btop. As soon as you launch btop, you’ll notice it’s straightforward to use. The UI is controlled using this shortlist of keyboard shortcuts:

(Esc, m) - Shows the main menu. 
(F2, o) - Shows options. 
(F1, h) - Shows the help screen. 
(Ctrl-C, q) - Quits the program.
(+, -) - Add/Subtract 100ms to/from update timer. 
(Up arrow) (Down arrow) - Select in the process list. 
(Enter) - Show detailed information for the selected process. 
(Pg Up) (Pg Down) - Jump 1 page in the process list. 
(Home) (End) - Jump to the first or the last page in the process list. 
(Left) (Right) - Select previous/next sorting column. 
(b, n) - Select previous/next network device. 
(e) - Toggle processes tree view. 
(r) - Reverse sorting order in processes box. 
(f, /) - Input a string to filter processes with.

Use the help menu for even more keyboard shortcuts.

With btop, you can quickly view detailed stats for processes, easily switch between sorting options, send SIGTERM, SIGKILL, SIGINT to a selected process, view current read and write speeds for your storage devices, and much more:

btop filter
btop – filtering ‘newrelic’ processes/threads

btop features

  • An easy-to-use and esthetically pleasing user interface that features a beautiful system-stats overview.
  • Full mouse support, all buttons with a highlighted key are clickable and mouse scroll works in process list and menu boxes.
  • Fast and responsive UI with UP, DOWN keys process selection.
  • Function for showing detailed stats for the selected process.
  • Ability to filter processes.
  • Easy switching between sorting options.
  • Tree view of processes.
  • Send any signal to the selected process.
  • UI menu for changing all config file options.
  • Auto-scaling graph for network usage.
  • Shows IO activity and speeds for disks
  • Battery meter
  • Selectable symbols for the graphs
  • Custom presets
  • Available in a growing list of official repos of recent distros. For example, Manjaro install = pacman -S btop.
  • Also compatible with Mac and FreeBSD.
  • Uses less CPU and RAM compared to bashtop and bpytop.

 

Conclusion

In a mission-critical setting, top, htop, and atop are still time-proven system resource monitoring and troubleshooting solutions along with other useful tools such as net-toolsiptrafcollectldstatiostat, iotopsarsaidar and vmstat. Also, read my list of 90 Linux Commands frequently used by Linux Sysadmins.

Command-line system monitors will often give you quick insight into what process(es) are the culprit for poor application performance. It’s an excellent place to start.

However, if you are serious about application performance, you’ll want to set up application performance monitoring (APM). APM and even broader observability provide a deeper and more detailed view of your code’s effect on resources as well as insight into the end user’s experience with your application.

Observability empowers you with the data necessary to decide whether to optimize code or to upgrade hardware. With this in mind, I maintain a list of over 100 observability solutions that will interest you if you run or plan to run apps in production. Also, read Observability in 5 minutes. Plus, the best 20 observability software vendors

I’ve been using btop on my laptop and a few servers when I need to share easy-to-read memory, CPU, or process stats. If you haven’t already, give it a try!

Tags: , , , ,