top under 5.3-RELEASE

Dan Nelson dnelson at allantgroup.com
Mon Nov 29 21:30:46 PST 2004


In the last episode (Nov 29), Julian Elischer said:
> understood.. but when 'ps' gets the information, it gets each
> thread.. where does the info get stored? the threads may have just
> flashed into existence a fraction of a second ago, and prior to that
> thay may have belonged to a compeltely different process.  It's not a
> simple problem. However there may be some relatively "ok" answers if
> we can define well enough what we want to see.  For example all
> taking the total cputime for the KSEGRP and dividing it by the number
> of non-sleeping threads might be a possibility. (or some variant of
> that).

Is the real problem that %CPU and WCPU are no longer used by the
schedulers in any meaningful way?  I thought at one point they were
used to dampen the priority of cpu-intensive proceses.  Maybe they
should be removed and replaced with some other counters that can record
cpu usage better.  %CPU can certainly be extracted by subtracting the
"struct rusage" values every sampling interval; unixtop does that for
quite a few OSes where %CPU isn't available or is useless.  WCPU is
nice to get a longer-term picture of what processes are consistently
using CPU though.  I suppose top could maintain its own running average
by averaging its calculated %CPU over an interval, but ps couldn't.

-- 
	Dan Nelson
	dnelson at allantgroup.com


More information about the freebsd-current mailing list