From owner-freebsd-questions@FreeBSD.ORG Thu Nov 23 18:37:27 2006 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 726C616A47C for ; Thu, 23 Nov 2006 18:37:27 +0000 (UTC) (envelope-from freebsd@sopwith.solgatos.com) Received: from schitzo.solgatos.com (pool-71-117-237-189.ptldor.fios.verizon.net [71.117.237.189]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3723D43D82 for ; Thu, 23 Nov 2006 18:36:42 +0000 (GMT) (envelope-from freebsd@sopwith.solgatos.com) Received: from schitzo.solgatos.com (localhost.home.localnet [127.0.0.1]) by schitzo.solgatos.com (8.13.8/8.13.6) with ESMTP id kANIbIBs016736 for ; Thu, 23 Nov 2006 10:37:18 -0800 Received: from sopwith.solgatos.com (uucp@localhost) by schitzo.solgatos.com (8.13.8/8.13.4/Submit) with UUCP id kANIbItw016733 for freebsd-questions@freebsd.org; Thu, 23 Nov 2006 10:37:18 -0800 Received: from localhost by sopwith.solgatos.com (8.8.8/6.24) id SAA09802; Thu, 23 Nov 2006 18:35:58 GMT Message-Id: <200611231835.SAA09802@sopwith.solgatos.com> To: freebsd-questions@freebsd.org In-reply-to: Your message of "Thu, 23 Nov 2006 02:52:15 EST." <20061123075214.GA51991@xor.obsecurity.org> Date: Thu, 23 Nov 2006 10:35:58 +0000 From: Dieter Subject: Re: processes not getting fair share of available disk I/O (was: Re: TCP parameters and interpreting tcpdump output ) X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Nov 2006 18:37:27 -0000 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.