Re: OT: high WIO on Linux

  • From: Nuno Souto <dbvision@xxxxxxxxxxxx>
  • Date: Tue, 14 Mar 2006 21:51:10 +1100

Christo Kutrovsky wrote,on my timestamp of 14/03/2006 8:35 AM:

In my opinion, the biggest problem with "%WIO" (wait io) is the
confusion it creates. Same thing with "%util" from iostat.

Many people are either following the rule of thumb that WIO is idle
time, others are thinking that it's the cpu needed to do IO.

The biggest problem for me is that CPU busy measures the percentage of time a CPU is doing process work while wait io measures the relative time processes are waiting in a list for an event to clear. The two can never meet properly by their very nature.

If we have normal io, then wait io is just the time a process is
sitting in the io list.  Which can potentially be a lot compared to
the time processes are actually running.

If we have aio, then in theory there should be much less wait io: a
process is free to continue executing until such time as it absolutely
needs the io to complete; in which instance it ends up in the wait io
list like any other process.  However, unless the process is prepared
to do this, we *still* end up with high wait io...

In theory, Oracle's dbwr is supposed to be able to initiate other io
requests while wating for any given one to complete.  In practice
there seems to be an empyrical limit to this, not very clear why.
And that's when we need an additional dbwr.  Without aio we
always do need additional ones.

Nuno Souto
in sunny Sydney, Australia

Other related posts: