1832274 Members
1950 Online
110041 Solutions
New Discussion

Re: IO Wait

 
Tonatiuh
Super Advisor

IO Wait

Red Hat Enterprise Linux 3

TOP commando shows me very often a high percentage of "iowait". I have seen until 90% of waits due to io.

How can I know the detail about what is causing this waits?
7 REPLIES 7
Ivan Ferreira
Honored Contributor

Re: IO Wait

Are you running a database? Are you running ntop? Sometimes is hard to know because the iowait is caused by a bad tunned application, that issues a lot of small I/O.

Also, and outdated kernel may cause this issue.
Por que hacerlo dificil si es posible hacerlo facil? - Why do it the hard way, when you can do it the easy way?
Tonatiuh
Super Advisor

Re: IO Wait

Yes I have Oracle Database Server 9i running there. No more software.

Update the Kernel is a ver hard task, because the RAC (Custer) configuration and all test that are needed.

I need to know a detailed info about the problem causing the IO Waits (processes, kernel bugs, etc.), to be able to propose a kernel update.
Ivan Ferreira
Honored Contributor

Re: IO Wait

I have a friend who had a similar problem, a high iowait (not too high). They changed the database log to raw devices, and the iowait reduced significantly.
Por que hacerlo dificil si es posible hacerlo facil? - Why do it the hard way, when you can do it the easy way?
Tonatiuh
Super Advisor

Re: IO Wait

What logs?
a) archive logs
b) online redo logs
Bill Thorsteinson
Honored Contributor

Re: IO Wait

High IO waits if all that is waiting is
the archive writer and/or log writer is
not necessarily a problem. These are I/O
intensive and will be waiting for I/O most
of the time they are running. Likewise,
for backups, cp, mv, etc.

Is the load average high (more than 2* CPUs)?
If not you likely don't have a problem.

If the database has too small an SGA, then
you may have high read io on the database.
Default SGA is usually very small. Try
increasing the SGA and see if IO goes down.

Try running 'sar -D' to see which disks
and partitions have the IO occurring.
It will also so the read/write balance.
Once the database has been running for a
while frequently accessed data should be
in cache. You should see relatively little
read activity on the partions with your
tablespaces.

If you have heavy tablescanning of large
tables, then you may see high read IO, if
the SGA is too small to cache the tables.

If you are in archive log mode, you should
see periodic heavy read activity on the
partition with a log file with corresponding
write activity on the partition with your
archived redo logs.
Ivan Ferreira
Honored Contributor

Re: IO Wait

Bill Thorsteinson is totally right. Also you should ensure that Direct I/O and Async I/O is enabled in the oracle database.
Por que hacerlo dificil si es posible hacerlo facil? - Why do it the hard way, when you can do it the easy way?
B. Hulst
Trusted Contributor

Re: IO Wait

Hi,

A high amount of iowaits in combi with an oracle database means you cpu is waiting for the disk i/o. Are you running the oracle from one single disk?

I recommend to use more then one disk.
One for the OS and the rest for oracle and try to spread the io load. DB files or raw partitions on one set of disk and archives and redo logs on another disk.

Regards,
Bob