Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Nov 2006 10:35:58 +0000
From:      Dieter <freebsd@sopwith.solgatos.com>
To:        freebsd-questions@freebsd.org
Subject:   Re: processes not getting fair share of available disk I/O (was: Re: TCP parameters and interpreting tcpdump output ) 
Message-ID:  <200611231835.SAA09802@sopwith.solgatos.com>
In-Reply-To: Your message of "Thu, 23 Nov 2006 02:52:15 EST." <20061123075214.GA51991@xor.obsecurity.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200611231835.SAA09802>