Date: Tue, 30 Nov 2004 12:02:55 -0800 From: Julian Elischer <julian@elischer.org> To: Dan Nelson <dnelson@allantgroup.com> Cc: Sean Welch <Sean_Welch@alum.wofford.org> Subject: Re: top under 5.3-RELEASE Message-ID: <41ACD1EF.7020704@elischer.org> In-Reply-To: <20041130053040.GL5518@dan.emsphone.com> References: <20041128233704.GB62951@NitroPhys.welchsmnet.net> <20041129154805.GD5518@dan.emsphone.com> <41AB8174.4090205@elischer.org> <20041129205408.GH5518@dan.emsphone.com> <41AB9151.8070601@elischer.org> <20041130053040.GL5518@dan.emsphone.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Dan Nelson wrote: >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. > Actually the problem is deper than that. Prior behaviour SHOULD be used by the schedulers but there is no way for us to meaningfully track it for a threaded program. (for the reasons mentionned before).
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41ACD1EF.7020704>