Thanks for your reply. Yes, I am at Duke. We are trying to do some
bottleneck analysis for some interesting applications which have bursty
I/O behavior. We are doing a whole system profile where a client connects
to the nfs server over Ethernet. The goal is to understand the behavior of
all the resources of the system so that one can see whats going on behind
The applications do have a lot of I/O happening.
Thanks for the pointer you gave me. I will have a look.
On Mon, 12 Apr 2004, William Cohen wrote:
> Piyush Shivam wrote:
> > Hello,
> At Duke University? You are just down the road from me.
> > I was wondering if it is possible to account for the time the CPU spends
> > waiting for I/O using oprofile, separate from the CPU idle time.
> OProfile is pretty much oriented toward CPU-bound applications. OProfile
> is great for finding which areas of code are CPU hogs.
> You can sometimes find I/O bottlenecks with OProfile from the routines
> that the kernel spends time in, e.g. processor spends a lot of time in
> driver code to copy data between device and memory. However, if the CPU
> isn't doing anything, then OProfile doesn't record much. The sampling
> OProfile uses doesn't show where the processor sits idle. This is quite
> possible with I/O when the processor is waiting for the device to
> complete some action, e.g. a disk drive head seek or waiting for an
> interrupt signalling that a network packet has arrived.
> What kind of I/O are you talking about? Mass storage or networking? Or
> some custom device? Do you have some simple benchmarks setup for
> repeatable experiment and to keep the complexity managable?
> > I will really appreciate if someone could give any pointers in this
> > regard.
> If you are looking at I/O for specific devices, something that measures
> interverals of time required to get from one place in the code to
> another might be more useful. Something like Linux Trace Toolkit (LTT)
> that provided probes to specific places in the kernel might give more
> information, http://www.opersys.com/LTT/. I haven't use LTT, so this is
> just a guess.