Re: gstat shows > 100% busy

From: Poul-Henning Kamp <phk_at_phk.freebsd.dk>
Date: Sat, 16 Apr 2005 21:46:51 +0200
In message <42616975.9060303_at_centtech.com>, Eric Anderson writes:

>Is gstat supposed to show > 100% sometimes?  What does that mean,
>or is it a bug?
>
>dT: 0.501  flag_I 500000us  sizeof 240  i -1
>  L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w   %busy Name
>     2    260    146  14912   10.7    114  14565    2.8  148.1| ad0
>     0      0      0      0    0.0      0      0    0.0    0.0| ad0s1

The reason gstat shows >100% busy is that there are some outstanding
requests. (the 2 in the left hand column).

I tried to make the statistics collection as cheap as possible, and
as a side effect some of the columns can be somewhat misleading.

The length of the queue "L(q)" can be plain wrong due to a race in
updating the counters and %busy can go over 100% while there are
outstanding requests.

The sysctl kern.geom.collectstats can be used to tune some aspects
of the statistics collection, but the %busy issue is just something
you have to live with.

The reason why I don't want to spend cpu time on the %busy field
is that it is useless as a performance indication for all modern
disks and most ancient ones as well.

The "ms/r" and "ms/w" give you the time it takes to send a transaction
through (in milliseconds, for read and write respectively) and those
are the numbers you should monitor.


-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk_at_FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.
Received on Sat Apr 16 2005 - 17:46:54 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:32 UTC