High I/O wait observed in Linux based Oracle Database Server
Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Hi,
We have just migrated Oracle Database from Solaris Server to Linux VM [ESX] server.
We have observed that there is high I/O wait issues while database query is running on Linux VM, which was ideally zero in case of Solaris. In the same ref. please let me know, is there any tunning need to be done from linux side.
Please suggest.
No idea, since there aren't enough details. Solaris probably wasn't running on a VM, and you don't tell us anything about how big that box was (CPU/Memory/disk/etc.), and you don't tell us what version/distro of Linux, or how you have the VMware box set up, and what resources you have assigned to that instance, or how big the database is, and on what kind of disk it's running and how many spindles.
Check the outputs of iostat/sar/top, and see what usages you're getting. Check the Oracle installation docs, and make sure you followed them for Linux installation.
Best thing to do would be to call Oracle support, since you're paying for it. They can run traces, and tell you where the bottleneck is.
if you're referring to the CPU time spent in i/o wait, this is probably the most useless number I've ever seen, though I'm happy to be corrected.
My understanding is all this means is the cpu is NOT doing anything while there is I/O going on. In fact in at least collectl, I don't even include it in the total cpu time.
I have done numerous experiments to prove my case. For example, if you fire up a dt (or other disk load generator tool) you'll always see a high i/o wait. If in parallel you start a compute bound process you'll see the iowait drop, since now the cpu has something else to do with its free time.
While I know nothing about solaris, one should be careful not to confuse a counter name from one O/S with another.
Distribution: Solaris 11.4, Oracle Linux, Mint, Debian/WSL
Posts: 9,789
Rep:
As already pointed by markseger, the i/o wait counter is more confusing than anything useful, especially with modern (multi-core, multi-thread) architectures. That's the reason why Solaris ceased to report anything but zero in it since Solaris 10 (2005).
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.