Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> Re: %wio from sar

Re: %wio from sar

From: <>
Date: Wed, 18 Oct 2006 21:45:42 +0200 (CEST)
Message-ID: <>

It's easier to decide if the %wio figure is practicable or not for you after you know how it's calculated. In Solaris 9 and before, each cpu have counters for each of the measured categories; user, system, idle and waitio. When called, the clock() interrupt routine decides which of the four counters to increment. If CPU is currently executing in user mode, increment the user stat. If CPU is currently executing any kernel routine, increment the system stat. If CPU is idle, look if any thread have any outstanding i/o request. If true, increment the waitio stat. If not, class it as idle. This calculation is probably not Solaris specific, I guess it's quite similar for other unix flavours. (Please anyone correct me if I'm wrong at this).

Imagine now that you have a few quite i/o-bound threads running on your system. The reported %wio-figures would be reasonably high because the threads are often in state waiting for their i/o-request. Now, what happens if you add more threads that aren't i/o-bound to the same system? You would now see much higher reported value for the %user (or %sys) percentage, and lower values for your %wio percentage since the CPUs aren't in idle mode as often as before. But has the response time for your i/o's decreased? Not really...

Measuring i/o-waits as a percentage of CPU time is probably not the best way to go. And that's why they've removed the %wio figure in Solaris 10. (It's still reported for backwards compatibility, but as zeros in all os tools).

I've started using the output from iostat more often (average service time etc) or comparing snapshot copies of v$filestat. And I guess that the disk system vendors will have to give better tools for this too, because the real disk i/o activity is becoming more and more transparent to the os.


> Folks,
> I understand that %wio is an idle statistic (Kevin Closson had confirmed
> it for me). I use this statistic to get a feel whether the system is
> spending a lot of time waiting for IO or not. I have seen in the past
> that each time we had some I/O related issue where the system was
> processing I/Os slowly, the statistic was showing high values. Sun is
> telling me that this statistic should not be relied on. I need an
> opinion whether this statistic should be considered when diagnosing IO
> issues at the server level or not.

Received on Wed Oct 18 2006 - 14:45:42 CDT

Original text of this message