On Wed, 2008-03-26 at 23:20 -0600, Robert Hancock wrote:Alex Bennee wrote:Hi,That's not what IOwait means. It basically means "nothing better to do than wait for IO to complete". If you have only one running task which is blocked waiting for IO you will always have high IOwait.
Since I got my new machine I noticed it seemed to be running slower than
I expected for a duel core machine including a lot of stuttering. After
tweaking the BIOS settings from "Legacy" to "AHCI" I measured a doubling
of read performance with hdparm but heavy IO still makes the machine
sluggish, with top showing ~80% of the time in the wait state (and
loadavg shooting up). This seems like a DMA problem because I was under
the impression a task demanding IO should be able to sleep on a DMA
completion rather than blocking everything else.
So if my loadavg shoots up at the same time (indicating more than one
task wanting to run) does that infer that most of my tasks are IO
starved and waiting for the disk to catch up with them?
The main problem is I'm not sure if my disk subsystem is running as fast
as it should be. What sort of data rates should I be seeing from a
modern SATA type setup?
As Alan pointed out (and I missed) the dmesg shows DMA is enabled, it's
just hdparam doesn't seem to be able to infer the fact (new IOTCLS for
newer disk systems?).
I could be I've already peaked in my performance and I'm just making
unrealistic demands on memory usage (I have been running cvsps after
all ;-).