3

Is there an equivalent to the amazing systat command in Linux-based operating systems?

For those who don't know about it, the BSD's systat command is just amazing. It displays live graphs of network traffic, I/O, ICMP, IP, TCP, network sockets (like netstat), swap usage and so on. But the most amazing of all, is the -vmstat display. I'll paste a snapshot of the live display here:

    2 users    Load  0.10  0.12  0.13                  Apr 30 22:50

Mem:KB    REAL            VIRTUAL                       VN PAGER   SWAP PAGER
        Tot   Share      Tot    Share    Free           in   out     in   out
Act   79096    5336   210828     9572  112208  count     5
All  144196   16988  2355132    30104          pages    19
Proc:                                                            Interrupts
  r   p   d   s   w   Csw  Trp  Sys  Int  Sof  Flt    535 cow    1313 total
  2          58      2923 1665 2493 1313  999 1094    299 zfod    999 clk irq0
                                                       16 ozfod       uart0 irq4
20.0%Sys   3.7%Intr 29.7%User  0.0%Nice 46.6%Idle       5%ozfod   101 vr1 irq5
|    |    |    |    |    |    |    |    |    |    |       daefr       irq7:
==========++>>>>>>>>>>>>>>>                           487 prcfr       stray irq7
                                        38 dtbuf      786 totfr   128 rtc irq8
Namei     Name-cache   Dir-cache     35088 desvn        1 react       vr2 irq9
   Calls    hits   %    hits   %     31092 numvn          pdwak    52 vr0 irq11
    3254    3238 100                  8647 frevn          pdpgs    27 vr3 irq12
                                                          intrn     6 ata0 irq14
Disks   ad0                                         86200 wire        ata1 ohci0
KB/t  14.90                                         89816 act
tps       6                                        209168 inact
MB/s   0.08                                            56 cache
%busy     7                                        112152 free

The manpage goes through great lengths to explain all the different parts of this arguably "crowded" display but what I quite miss in Linux about this are:

  1. the interrupt-per-second summary (on the right) - sure i can watch -n 1 cat /proc/interrupts, but it's hard to tell what's really going on there...
  2. the disk usage (on the bottom left) - just plain and simple MB/s and how busy the disk is (in percentage!)

Before you answer, understand that I know very well:

  • top - pales in comparison: only looks at some of those aspects, in too broad strokes
  • vmstat - a classic, but is more useful to draw trends over time than figure out "what's going on now exactly"
  • iftop - useful to diagnose network bottlenecks, but that's it
  • iotop - same for I/O
  • dstat - interesting, but doesn't have the same granularity per interrupt

I could mention a lot more of those: basically, I am not aware of a single tool that shows that much of a complete snapshot of the state of a machine in a single 24x80 terminal screen, in any Linux-based distribution.

Please prove me wrong. :)

  • What's the problem with granularity for dstat? AFAICT, you can get any of them or the total... – Stéphane Chazelas Dec 4 '15 at 15:08
  • well the problem with dstat is the same as vmstat or other one-liners: there's a limited amount of data you can shove in there. In systat, you can show all interrupts, individually, at once. In dstat to do that, you'd have a really really wide screen to show all interrupts... – anarcat Dec 6 '15 at 21:33
  • I just noticed there's a very similar question in serverfault.com/questions/80476/… – anarcat Jan 10 '18 at 14:57
1

Not providing a "systat" alternative, but adding to what you already have:

Instead of top, try htop!
(Similar to use, but more configurable, colors, some useful 'extras')


Also, you may like atop.
I do not use it, but it looks like it is similar to systat.
It can not fully replace systat, though.

It combines a big summary table with a "top"-style process list.
Based on a service, atop can accumulate process information.

Take a look at powertop too.

  • atop is pretty cool, and I use it a lot. In particular it adds disk IO stuff and network activity stuff that top doesn't have, and it can run as a daemon, saving snapshots of activity every so often. I find in my practice it's completely replaced top, and for after the fact analysis it's mostly replaced sar and munin. It's no substitute for systat though. – mc0e Jan 10 '15 at 17:56
  • 1
    Only backside, atop need a kernel module installed for per-process network activity recodring – mveroone Dec 4 '15 at 15:49
  • True - see here for details: atoptool.nl/netatop.php – Volker Siegel Dec 5 '15 at 8:00
1

someone just pointed me to Glances and while it still doesn't replace systat, it still pretty awesome. It collects the outputs of top, free, disk and network IO, and shows disk space usage, among other things. It can also run in client/server mode, both through a web interface or a dedicated remote commandline client mode. It can also export data points to other systems like StatsD, RabbitMQ and much more.

Quite interesting. What seems to be missing from systat still are:

  • VM/swap page in/out
  • interrupt usage
  • disk % usage
  • and more freebsd-specific counters

At this point, I am not sure all those other counters are necessary, but it would be great to have the first three here..

1

Take a look at nmon - A free tool to analyze AIX, Linux and Solaris (sarmon) performance. In interactive mode - it provides 'a complete snapshot of the state of a machine in a single 24x80 terminal screen' as requested.

It can be used for monitoring live systems, and also log performance information across CPU, Disk, Memory, Network, etc. I have it running 24/7 on all my systems to provide historic performance information.

A number of tools that can parse nmon output have been developed, in order of personal preference / usability.

Introduction to nmon:

nmon Parsers:

  • NMONVisualizer - A Java GUI for analyzing nmon system files from both AIX and Linux. Also parses IOStat files and more;
  • nmon Analyser - an Excel spreadsheet that takes an output file from topas/nmon and produces some nice graphs to aid in analysis and report writing;
  • nmon Consolidator - reads in nmon or topasout files from several AIX/Linux machines (nodes) to produce a consolidated set of data in the form of an Excel spreadsheet;
  • Java Nmon Analyser - a free, open source analyser tool which is helpful in analyzing performance data captured using the nmon performance tool. and real-time monitor the Linux/AIX 's performance base on nmon;
  • nmon2graphite - Graph nmon output in real time;
  • nmon2rrd - graph nmon to rrd;
  • nmon2web - graph nmon to html using perl transformations instead of rrd;
  • nmon is pretty close as well, but i still prefer glances, as nmon can't fit all those stats in a single screen. – anarcat Dec 6 '15 at 21:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.