Grant Street <[EMAIL PROTECTED]> writes: > I was wondering if someone could point me in the right direction for > some doco?
I don't know of any, but ... > I'm finding it hard to get a definition of what constitutes IOWait. > I know that IOwait is CPU time waiting for IO to happen to physical local > disks, but I'm unsure about the following scenarios and if they contribute to > IOWait: Not quite. IOWait is a *software* state, indicating that a process or thread is blocked waiting for I/O to complete. This is different from "CPU time waiting for ..." in that it implies the software is making no progress, but *NOT* that your CPU is spending cycles working on it.[1] > - CPU time waiting for an NFS read/write to occur Yes, along with more or less any other "disk" I/O that happens to be run over the network -- as long as it is synchronous, and something is waiting on it. > - CPU time waiting for a network buffer to be read/written to. eg waiting for > a full buffer to clear. Generally not. I am not certain about blocking on a full buffer condition for sending data, but not for blocking while reading. > - Anything else?? Any other synchronous disk I/O, certainly. Probably certain other, related, conditions where the kernel developers feel that the process is blocked on I/O. > PS. How do you set/query the network buffers in Linux? Via the socket fcntl / ioctl interface, or via the sysctls in /proc/sys/net, which are documented in the standard Linux kernel sysctl documentation. All that said, you might want to tell us why you are asking, not just what, since I suspect there is a question about why you have so much IOWait time on your system, or poor performance? Regards, Daniel Footnotes: [1] It does, technically, spend a few in terms of submitting and completing the I/O before it wakes up the blocked process, and various I/O devices need babysitting, but the principal is sound. ;) -- SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/ Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html