Section 9.7. Interrupt Analysis: intrstat


9.7. Interrupt Analysis: intrstat

The intrstat command, new in Solaris 10, uses DTrace. It measures the number of interrupts and, more importantly, the CPU time consumed servicing interrupts, by driver instance. This information is priceless and was extremely difficult to measure on previous versions of Solaris.

In the following example we ran intrstat on an UltraSPARC 5 with a 360 MHz CPU and a 100 Mbits/sec interface while heavy network traffic was received.

# intrstat 2       device |      cpu0%tim ------------------+----------------        hme#0 |      2979  43.5       device |      cpu0%tim ------------------+----------------        hme#0 |      2870 42.6       uata#0 |         0 0.0 ... 


The hme0 instance consumed a whopping 43.5% of the CPU for the first 2-second sample. This value is huge, bearing in mind that the network stack of Solaris 10 is much faster than previous versions. Extrapolating, it seems unlikely that this server could ever drive a gigabit Ethernet card at full speed if one was installed.

The intrstat command should become a regular tool for the analysis of both kernel driver activity and CPU consumption, especially for network drivers.




Solaris Performance and Tools(c) Dtrace and Mdb Techniques for Solaris 10 and Opensolaris
Solaris Performance and Tools: DTrace and MDB Techniques for Solaris 10 and OpenSolaris
ISBN: 0131568191
EAN: 2147483647
Year: 2007
Pages: 180

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net