collectl: System details, in detail

The Great Gods of Chance have spoken, and ls vimwiki/ | shuf -n1 has vomited forth … collectl!


The first issue to be resolved is: how to pronounce it. “Colle-control,” or “Collect-ull”? You be the judge. In my head, I say it the second way.

And the second is: Why does the help page say it belongs to the Hewlett-Packard company? Is there some sort of insidious corporate malfeasance to be inferred by that?! 😯 👿

Probably not, and it wouldn’t matter in my estimation of collectl, since it is by all measurements A Very Cool Tool. Here’s why:

  1. Works without superuser privileges, for the most part. Meaning little old you can install it on your machine and you don’t need to be root to get a look at it. It’s true that some features require elevated privileges, but you can at least see if it’s something worth digging deeper into.
  2. Neatly formatted and easy-to-read output. By default, collectl keeps itself to plain text and ASCII characters, meaning you won’t see trash in a virtual console, or if you’re restricted in your font set. I know that’s a minor benefit, but it’s important sometimes.
  3. Highly-yet-easily customizable data fields. collectl will show you CPU, disk and network activity by default. Give it the -s flag and use pluses or minuses to add or subtract specific subsystems you want to know about. No, really: It is that easy.
  4. Dump to file. collectl will send its output into a file for your later perusal, which I imagine will be of particular importance to system administrators who loathe staying up late at night to catch script kiddies misbehaving.
  5. Dump to plot data. Even better, you can send all collectl’s output into a data plot format, and use it to generate graphs (more on that in a second). In the raw it just looks like tangled data and brackets, but judging by the collectl home page, some very interesting and colorful pictures are possible.
  6. Adjustable formatting options and output controls. Include dates. Don’t include dates. Include times. Don’t include times. Compress data files. Don’t compress data files. So many decisions. …
  7. Super duper top-like mode. Can’t get over how cool and amazing top is? I understand, and so does collectl. Feed it the --top flag and it will pretend it is The Great One, with some obvious omissions. Like color. 🙄
  8. When you press CTRL+C, it yells, “Ouch!” Okay, maybe that’s not a huge bonus, but I giggled when I first saw it. I admire programs that retain a measure of humor. 🙂

There’s lots more that collectl will do, and for a brief and easy primer, I first recommend Martin Carstenbach’s introduction. When you think you’re the Blind Master Po of collectl, Martin will feed your own heart to you with his advanced tutorial on collectl-utils. (“Collect-ull-yoo-tills?” I wonder.) Whatever complaints you might have about collectl, most should be resolved with collectl-utils.

If I sound a little enthused about collectl, it’s because I think it’s that good a program. Sure, it’s not a fullscreen console app, and it doesn’t have much color on its own, but I know quality when I see it. Well done, kind sirs. Well done. 😉

3 thoughts on “collectl: System details, in detail

  1. Mark Seger

    Always happy to hear from users you appreciate collectl. btw – how to pronounce it is in the faq: 😉 As for ‘ouch’, you’ll have to thank Rob Urban, the author of collect, a Tru64 Unit utility collectl is based on.

    As you noted there are far too many options to try to list but perhaps you may have whetted the appetite of a few people so let me whet yours! Have you tried colmux yet, part of collectl-utils? Since you like top so much, think top of anything collectl reports across a cluster! For example if you run the command “colmux -addr filename -command “-scdnm”, it will run collectl on all the addresses listed in filename and run the collectl command with the switches ‘-scdnm’. But here’s the real cool parts:
    – it will collect all the output from all the machines and display the ‘top’ entries sorted by the column of your choices, the default is column 1
    – you can then tell it to change the sort column with the arrow keys if you have term-readkey installed

    I’ve run it against 200 machines at once and instantly found those machines using excess system buffers. OR look at thousands of disks with -sD and sort by service time to show the slow disks.

    It can be very addictive so be sure to drink a lot of coffee or redbull because you may be in for a late nite.


    1. K.Mandla Post author

      Thanks, Mark! I am happy to hear that my intuition paid off and I got the pronunciation right. I will take a closer look at the ‘-utils package; I haven’t got 200 machines to test it with, but I’ll do what I can with the few I’ve got. Thanks again. 😀

  2. Pingback: nmon: A monitor for everything | Inconsolation

Comments are closed.