From: Mark Seger <Mark.Seger@hp.com>
To: util-linux-ng@vger.kernel.org, linux-kernel@vger.kernel.org,
netdev@vger.kernel.org
Subject: Collectl now support monitoring Interrupts by CPU
Date: Fri, 29 Feb 2008 08:18:18 -0500 [thread overview]
Message-ID: <47C8061A.6080009@hp.com> (raw)
In-Reply-To: <477FDAA8.2030001@hp.com>
In keeping with the spirit of adding new useful features when they help
solve real world problems, I've added this ability to collectl as a
direct result of a problem we were recently having when doing some
network performance testing. It turned out all the interrupts were
being processed by cpu0 (this was on an 8-core system) but all collectl
told us was the aggregate number! Once we moved to a NIC/driver that
supported multiple queues that could distribute interrupts to multiple
CPUs it only made sense to enhance collectl to let us verify that this
was indeed happening - I personally find examining /proc/interrupts for
changes more trouble than it's worth.
In any event, the following is an example of how collectl can present
this data, first summarized by CPU:
#Time Cpu0 Cpu1 Cpu2 Cpu3 Cpu4 Cpu5 Cpu6 Cpu7
12:49:55 4828 16K 1000 16K 18 16K 16K 0
12:49:56 4804 16K 1000 16K 0 16K 16K 0
12:49:57 4811 16K 1000 16K 18 16K 16K 0
12:49:58 4789 16K 1000 16K 0 17K 16K 44
and here by the type of the interrupt itself:
# INTERRUPT DETAILS
# Int Cpu0 Cpu1 Cpu2 Cpu3 Cpu4 Cpu5 Cpu6 Cpu7
Type Device(s)
12:48:50 082 0 0 0 7731 0 0 0
0 PCI-MSI-X eth2 (queue 0)
12:48:50 098 0 0 0 0 2037 0 0
0 PCI-MSI-X eth2 (queue 2)
12:48:50 122 0 0 2240 0 0 0 0
0 PCI-MSI-X eth2 (queue 5)
12:48:50 138 0 7084 0 0 0 0 0
0 PCI-MSI-X eth2 (queue 7)
12:48:50 154 0 0 0 0 0 7723 0
0 PCI-MSI-X eth3 (queue 0)
12:48:50 162 9082 0 0 0 0 0 0
0 PCI-MSI-X eth3 (queue 1)
12:48:50 178 0 0 0 0 0 0 8253
0 PCI-MSI-X eth3 (queue 3)
12:48:50 210 0 0 0 0 0 0 0
6417 PCI-MSI-X eth3 (queue 7)
12:48:50 218 1 0 0 0 0 0 0
0 PCI-MSI eth0
You can also look at all CPU loads and interrupts together like this:
# SINGLE CPU STATISTICS
# CPU USER NICE SYS WAIT IRQ SOFT STEAL IDLE INTRPT
07:09:28 0 0 0 0 0 0 0 0 100 16
07:09:28 1 0 0 0 0 0 0 0 100 0
07:09:28 2 0 0 0 0 0 0 0 100 999
07:09:28 3 0 0 0 0 0 0 0 100 16
For those not familiar with collectl, you can collect virtually
everything all the existing linux 'stat' utilitie provide plus a lot
more such as processes (including I/O stats), Infininband, Quadrics,
Slab, Lustre and more. Plus a lot more feature too numerous to list but
there's a pretty good summary here -
http://collectl.sourceforge.net/Features.html
But don't take my word for it, check out the website at
http://collectl.sourceforge.net/ where you can see a pretty good set of
examples in the documentation and even follow the tutorial.
-mark
parent reply other threads:[~2008-02-29 13:18 UTC|newest]
Thread overview: expand[flat|nested] mbox.gz Atom feed
[parent not found: <477FDAA8.2030001@hp.com>]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=47C8061A.6080009@hp.com \
--to=mark.seger@hp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=util-linux-ng@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).