All-in-one performance analysis with standard Linux tools

Programming Snapshot – Performance Analysis

© Lead Image © Maksym Yemelyanov,

© Lead Image © Maksym Yemelyanov,

Article from Issue 235/2020

Experienced sys admins always use the same commands to analyze problematic system loads on Linux. Mike Schilli bundles them into a handy Go tool that shows all the results at a glance.

When the performance analysis book by Brendan Gregg [1], which I had long been waiting for, appeared recently, I devoured it greedily. I even had access to a prerelease so that in January I was able to give the readers of Linux Magazine some tips on the kernel probes for throughput measurement by means of the Berkeley Packet Filters [2]. Performance guru Gregg also explains at the beginning of the book how he often uses classic command-line tools to find out what is causing a struggling server to suffer.

10 Commands

He starts off with a list of 10 command-line utilities (Listing 1) [3], which every Unix system understands, checks everyday things – such as how long the system has been running without rebooting (uptime) or whether there is anything noticeable in the system log (dmesg). The vmstat command looks for processes waiting for their turn on a CPU. It also checks if all RAM is occupied and the system is wildly swapping. Similarly, free shows the available memory.

Entering pidstat visualizes how processes are distributed on the system's CPUs; iostat determines whether the data exchange with the hard disk is the bottleneck. The utilization of individual CPUs is illustrated by mpstat, which also shows whether a single process is permanently blocking an entire CPU. The sar commands collect statistics about the network activity on a regular basis, including the throughput data. The best known of the tools, top, gives an overview of RAM usage and running processes, but according to Gregg, should be called last.


Use Express-Checkout link below to read the full article (PDF).

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Monitoring Station

    With a monitoring system implemented in Go, Mike Schilli displays the Docker containers that have been launched and closed on his system.

  • 4Pane 2.0

    4Pane provides additional confidence in file management in the form of a clever undo function. Advanced users can install supplemental scripts in an instant.

  • Ruby and Glade

    Application development shouldn’t be a chore. We’ll show you how to simplify the development process with the Ruby programming language and the Glade interface design utility.

  • SuperKaramba Workshop

    If you can’t find the SuperKaramba theme you’re looking for, you can always build your own.

  • Perl: PerlPanel

    One panel has a neat collection of applets and another has spectacular looks – but a combination of the two is rare. Now help draws nigh for the desktop: PerlPanel is extensible with do-it-yourself widgets.

comments powered by Disqus

Direct Download

Read full article as PDF:

Price $2.95