Request for testing - top 3.8b1 in the base system
Garrett Cooper
yanefbsd at gmail.com
Sun Sep 28 09:37:50 UTC 2008
On Sun, Sep 28, 2008 at 1:14 AM, Alex Keda <admin at lissyara.su> wrote:
> Edwin Groothuis пишет:
>>
>> I have made an update for the top(1) utility in the FreeBSD base
>> system to get it from the 3.5b12 version to the 3.8b1 version.
>>
>> I have tried them on the amd64 architecture on FreeBSD -current and
>> FreeBSD 7.0 and on the i386 architecture on FreeBSD 7.0.
>>
>> The big new features are a line upper part with kernel statistics
>> (context-switches, traps, interrupts, faults etc) and the FLG table
>> (if you window is big enough)
>>
>> Some features specific to FreeBSD (dual display (press m)), threaded
>> processes, and jails have been ported to 3.8b1.
>>
>> The biggest fix (AFAICT) is the TIME and CPU table for threaded
>> processes, which are now calculated properly.
>>
>> The new code can be found on
>> http://www.mavetju.org/~edwin/freebsd-top-3.8b1-A.tar.gz
>> Go to 3.8b1/usr.sbin/top and run "make" there to produce the binary,
>> then run it via "./top".
>>
>> Please report any issues with it (compile time, run time) and a way
>> to reproduce it (if possible). Thanks for your help!
>>
>> Edwin
>>
> Some strange. Count running processes not match with system top
> ========= system top =============
> last pid: 30285; load averages: 0.99, 0.91, 0.91 up 0+21:08:49 12:10:40
> 45 processes: 2 running, 43 sleeping
> CPU: 24.3% user, 0.0% nice, 1.3% system, 0.0% interrupt, 74.4% idle
> Mem: 236M Active, 1693M Inact, 414M Wired, 137M Cache, 214M Buf, 5187M Free
> Swap: 4096M Total, 4096M Free
>
> PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
> 87008 root 1 8 0 58728K 43028K wait 0 0:05 0.00% ruby18
> 87002 root 1 44 0 5688K 1124K select 2 0:02 0.00% script
> 1168 root 1 44 0 22872K 4308K select 3 0:01 0.00% sshd
> 30284 root 1 97 0 97420K 90844K CPU1 1 0:01 0.00% cc1plus
> 721 root 1 44 0 10696K 4000K select 0 0:01 0.00% sendmail
> 86980 lissyara 1 44 0 33764K 4840K select 2 0:00 0.00% sshd
> 584 root 1 44 0 5688K 1364K select 2 0:00 0.00% syslogd
> 733 root 1 8 0 6744K 1436K nanslp 0 0:00 0.00% cron
> 52451 lissyara 1 44 0 33764K 4840K select 0 0:00 0.00% sshd
>
> ======== new top ==========
> last pid: 30280; load avg: 0.99, 0.91, 0.91;
> up 0+21:08:48 12:10:39
> 99 processes: 6 running, 76 sleeping, 17 waiting
> CPU: 23.6% user, 0.0% nice, 1.9% system, 0.0% interrupt, 74.5% idle
> Kernel: 4192 ctxsw, 21398 trap, 4 intr, 1000 soft, 4 fork, 21427 flt, 26140
> fr
> Mem: 239M Active, 1693M Inact, 414M Wired, 137M Cache, 214M Buf, 5184M
> Free
> Swap: 4096M Total, 4096M Free
>
> PID USERNAME THR PRI NICE SIZE RES STATE FLG C TIME CPU COMMAND
> 30279 root 1 98 0 97M 91M CPU1 + 1 0:01 48.94% cc1plus
> 30280 root 1 -8 0 2176K 1688K piperd + 0 0:00 0.14% as
> 30277 root 1 8 0 7060K 1884K wait + 1 0:00 0.06% sh
> 30278 root 1 8 0 4600K 1284K wait + 0 0:00 0.06% c++
> 30245 root 1 44 0 8112K 2220K select + 0 0:00 0.04% top
> 30219 root 1 44 0 8112K 2284K CPU2 + 2 0:00 0.02% top
> 86980 lissyara 1 44 0 33M 4840K select 2 0:00 0.01% sshd
> 29472 root 1 8 0 3200K 1392K wait + 3 0:00 0.01% make
> 87008 root 1 8 0 57M 42M wait + 0 0:05 0.00% ruby18
> 87002 root 1 44 0 5688K 1124K select + 2 0:02 0.00% script
> 1168 root 1 44 0 22M 4308K select s 3 0:01 0.00% sshd
>
> ======================
> FreeBSD serv2.hos-ting.ru 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #0: Sat Sep
> 27 14:50:59 MSD 2008 lissyara at serv2.hos-ting.ru:/usr/obj/usr/src/sys/HOSTING
> amd64
I'm not sure I'm finding an issue, but I do find it interesting that...
1. It takes a reasonably long amount of time for top to plateau the
WCPU field (approximately 8-10 iterations), whereas ps registering the
WCPU percentage value is almost instantaneous.
2. top appears to be doing some interesting rounding that ps isn't
doing (ps registers anywhere between 88.4 and 97% via ps vs 100% via
top for a simple operation like `while [ 1 ] ; do cat /dev/urandom >
/dev/null; done').
-Garrett
More information about the freebsd-stable
mailing list