processes not getting fair share of available disk I/O (was:
Re: TCP parameters and interpreting tcpdump output )
Dieter
freebsd at sopwith.solgatos.com
Thu Nov 23 10:37:27 PST 2006
Here's another oddity:
With one process reading from ad4, crunching data, writing to ad2:
4 users Load 0.31 0.47 0.67 Nov 23 10:05
Mem:KB REAL VIRTUAL VN PAGER SWAP PAGER
Tot Share Tot Share Free in out in out
Act 52356 3364 82872 6952 104604 count
All 2010324 4120 1344905k 8148 pages 1
8450 zfod Interrupts
Proc:r p d s w Csw Trp Sys Int Sof Flt 21 cow 1251 total
1 1 40 706 8736 472 1528 34 8489 188356 wire 1000 0: clk
53816 act 1: atkb
5.9%Sys 0.0%Intr 0.0%User 92.0%Nice 2.0%Idl 1669272 inact 41 3: sio1
| | | | | | | | | | 100624 cache 4: sio0
===--------------------------------------------- 3980 free 7: ppc0
daefr stray 7
Namei Name-cache Dir-cache 29 prcfr 128 8: rtc
Calls hits % hits % 2 react 19 10: ohc
153 151 99 pdwak 3 11: fwo
2602 pdpgs 14: ata
Disks ad2 ad4 ad6 ad8 ad10 cd0 pass0 intrn 60 15: ata
KB/t 128 63.27 0.00 16.62 0.00 0.00 0.00 218624 buf
tps 30 19 0 3 0 0 0 11 dirtybuf
MB/s 3.77 1.15 0.00 0.05 0.00 0.00 0.00 100000 desiredvnodes
% busy 49 3 0 2 0 0 0 995 numvnodes
621 freevnodes
Same as above, but add a cp from ad10 to ad6:
4 users Load 0.63 0.53 0.68 Nov 23 10:05
Mem:KB REAL VIRTUAL VN PAGER SWAP PAGER
Tot Share Tot Share Free in out in out
Act 52108 3364 82624 6952 106240 count
All 2010268 4120 1345038k 8148 pages
3783 zfod Interrupts
Proc:r p d s w Csw Trp Sys Int Sof Flt cow 1412 total
1 1 1 40 1432 3981 412 1896 102 3783 193108 wire 1000 0: clk
53580 act 1: atkb
6.6%Sys 0.8%Intr 0.0%User 40.0%Nice 52.7%Idl 1663056 inact 40 3: sio1
| | | | | | | | | | 102268 cache 4: sio0
===+-------------------- 3972 free 7: ppc0
daefr stray 7
Namei Name-cache Dir-cache prcfr 128 8: rtc
Calls hits % hits % 3 react 112 10: ohc
pdwak 105 11: fwo
5229 pdpgs 14: ata
Disks ad2 ad4 ad6 ad8 ad10 cd0 pass0 intrn 27 15: ata
KB/t 126 60.34 128 0.00 128 0.00 0.00 217024 buf
tps 14 7 53 0 53 0 0 13 dirtybuf
MB/s 1.70 0.41 6.57 0.00 6.57 0.00 0.00 100000 desiredvnodes
% busy 22 2 100 0 6 0 0 995 numvnodes
621 freevnodes
Suspend the data crunching process, and just the cp gives this:
4 users Load 0.52 0.51 0.67 Nov 23 10:05
Mem:KB REAL VIRTUAL VN PAGER SWAP PAGER
Tot Share Tot Share Free in out in out
Act 52172 3364 82688 6952 102596 count
All 2010884 4120 1345232k 8148 pages
zfod Interrupts
Proc:r p d s w Csw Trp Sys Int Sof Flt cow 1347 total
1 1 41 1273 239 1712 93 223736 wire 1000 0: clk
53644 act 1: atkb
3.0%Sys 0.6%Intr 0.0%User 0.0%Nice 96.4%Idl 1635616 inact 7 3: sio1
| | | | | | | | | | 99632 cache 4: sio0
=+ 2964 free 7: ppc0
daefr stray 7
Namei Name-cache Dir-cache prcfr 128 8: rtc
Calls hits % hits % react 105 10: ohc
pdwak 106 11: fwo
5241 pdpgs 14: ata
Disks ad2 ad4 ad6 ad8 ad10 cd0 pass0 intrn 1 15: ata
KB/t 54.40 0.00 128 0.00 128 0.00 0.00 209184 buf
tps 1 0 53 0 53 0 0 5 dirtybuf
MB/s 0.05 0.00 6.60 0.00 6.62 0.00 0.00 100000 desiredvnodes
% busy 1 0 100 0 6 0 0 995 numvnodes
621 freevnodes
With only one process active, I get what I expect. The cp is I/O bound,
the cruncher is CPU bound. But with both processes running I get something odd.
The cp still gets the same amount of disk I/O, but the cruncher slows way down
and the CPU is ~53% idle?
The cp is not accessing anything on ad2 or ad4.
The cruncher program is not accessing anything on ad6 or ad10.
The /, /usr, /var, and such filesystems are on ad8.
More information about the freebsd-questions
mailing list