starting the annual discussion regarding top(1)'s CPU usage
statistics
Alexander Best
arundel at freebsd.org
Sun Dec 25 21:40:33 UTC 2011
ok...so we all know that top(1) cannot compute the exact CPU usage for all
processes, since some processes get spawned and exit so fast that they don't
fall into the calculation range. i think nobody is getting angry when top(1)
is off by a few percent.
however please take a look at the following top(1) output. this is just
ridiculous! out of 800% of CPU power, almost 600% mysteriously vanished. is
there really nothing to improve top(1)'s behaviour when the CPU is dealing with
a lot of short processes (time wise) with a hugh CPU burst?
this output was gathered on HEAD (r227491) running on i386.
cheers.
alex
ps: no, switching between raw and weighted CPU stats did *not* make a
difference. ;)
-------------- next part --------------
last pid: 1489; load averages: 7.58, 7.73, 7.01 up 10+01:22:28 21:21:04
170 processes: 2 running, 167 sleeping, 1 waiting
CPU 0: 13.4% user, 0.0% nice, 13.4% system, 3.9% interrupt, 69.3% idle
CPU 1: 48.8% user, 0.0% nice, 20.8% system, 0.0% interrupt, 30.4% idle
CPU 2: 52.8% user, 0.0% nice, 24.8% system, 0.0% interrupt, 22.4% idle
CPU 3: 59.2% user, 0.0% nice, 19.2% system, 0.0% interrupt, 21.6% idle
CPU 4: 70.4% user, 0.0% nice, 17.6% system, 0.0% interrupt, 12.0% idle
CPU 5: 42.5% user, 0.0% nice, 20.5% system, 0.0% interrupt, 37.0% idle
CPU 6: 59.5% user, 0.0% nice, 16.7% system, 0.0% interrupt, 23.8% idle
CPU 7: 55.2% user, 0.0% nice, 9.6% system, 0.0% interrupt, 35.2% idle
Mem: 333M Active, 6577M Inact, 332M Wired, 4436K Cache, 111M Buf, 763M Free
Swap: 8192M Total, 444K Used, 8191M Free
PID UID THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
11 0 8 155 ki31 0K 64K CPU7 7 1718.7 200.00% [idle]
12 0 18 -84 - 0K 144K WAIT 0 73:49 3.76% [intr]
1238 1233 1 52 0 8032K 552K wait 5 0:00 0.10% [cc]
1234 1233 1 52 0 9936K 1440K wait 2 0:00 0.10% sh -ev
1236 1233 1 52 0 9936K 1492K wait 2 0:00 0.10% [sh]
7 0 1 16 - 0K 8K syncer 0 55:42 0.00% [syncer]
13 0 3 -8 - 0K 24K - 2 13:43 0.00% [geom]
14 0 1 -16 - 0K 8K - 1 3:31 0.00% [yarrow]
9 0 1 -16 - 0K 8K sdflus 4 3:00 0.00% [softdepflush]
566 0 1 20 0 12128K 2380K select 5 2:59 0.00% /sbin/devd
8 0 1 -16 - 0K 8K vlruwt 2 1:32 0.00% [vnlru]
3 0 1 -16 - 0K 8K psleep 3 1:29 0.00% [pagedaemon]
6 0 1 -16 - 0K 8K psleep 1 1:13 0.00% [bufdaemon]
811 0 1 20 0 9784K 1356K select 1 0:22 0.00% /usr/sbin/rpcbind
975 0 1 20 0 11320K 1928K select 3 0:21 0.00% /usr/sbin/ntpd -c /etc/ntp.conf -p /var/run/ntpd.pid -f /var
1043 0 1 20 0 13080K 2396K select 2 0:20 0.00% /usr/sbin/sshd
1050 0 1 20 0 11340K 2356K select 3 0:12 0.00% sendmail: accepting connections (sendmail)
1006 1 1 20 0 9540K 1088K sbwait 4 0:09 0.00% /usr/sbin/rwhod
1 0 1 20 0 8032K 352K wait 7 0:09 0.00% [init]
1063 0 1 28 0 9656K 1388K nanslp 0 0:07 0.00% /usr/sbin/cron -s
735 0 1 20 0 9624K 1192K select 0 0:06 0.00% /usr/sbin/syslogd -s
814 0 1 20 0 9552K 1308K select 1 0:04 0.00% /usr/sbin/ypbind
0 0 8 -52 0 0K 64K - 7 0:03 0.00% [kernel]
937 0 1 20 0 4408K 404K nanslp 2 0:03 0.00% /root/mfid clusteradm at freebsd.org
59391 1233 1 52 0 28512K 23144K select 6 0:02 0.00% make DIRPRFX=lib/libc/ all
75317 1233 1 52 0 20320K 14032K select 1 0:01 0.00% make DIRPRFX=secure/lib/libcrypto/ all
17282 1233 1 20 0 8032K 616K select 1 0:01 0.00% make buildworld TARGET=arm TARGET_ARCH=armeb
17285 1233 1 20 0 8032K 616K select 6 0:01 0.00% make buildworld TARGET=amd64 TARGET_ARCH=amd64
17279 1233 1 20 0 8032K 616K select 0 0:01 0.00% make buildworld TARGET=arm TARGET_ARCH=arm
17299 1233 1 20 0 8032K 616K select 1 0:01 0.00% make buildworld TARGET=mips TARGET_ARCH=mipsel
17290 1233 1 20 0 8032K 616K select 2 0:01 0.00% make buildworld TARGET=mips TARGET_ARCH=mipseb
17293 1233 1 20 0 8032K 616K select 1 0:01 0.00% make buildworld TARGET=mips TARGET_ARCH=mips64el
17298 1233 1 20 0 8032K 616K select 2 0:01 0.00% make buildworld TARGET=mips TARGET_ARCH=mipsn32eb
17294 1233 1 20 0 8032K 616K select 3 0:01 0.00% make buildworld TARGET=mips TARGET_ARCH=mips64eb
17919 1233 1 20 0 8032K 996K select 1 0:01 0.00% make -m /dumpster/home/arundel/src/share/mk -f Makefile.inc1
17928 1233 1 20 0 8032K 932K select 0 0:01 0.00% make -m /dumpster/home/arundel/src/share/mk -f Makefile.inc1
18122 1233 1 20 0 8032K 996K select 6 0:01 0.00% /scratch/tmp/arundel/obj/dumpster/home/arundel/src/make.i386
17946 1233 1 20 0 8032K 928K select 7 0:01 0.00% make -m /dumpster/home/arundel/src/share/mk -f Makefile.inc1
17902 1233 1 20 0 8032K 932K select 1 0:01 0.00% make -m /dumpster/home/arundel/src/share/mk -f Makefile.inc1
17950 1233 1 20 0 8032K 936K select 3 0:01 0.00% make -m /dumpster/home/arundel/src/share/mk -f Makefile.inc1
17940 1233 1 20 0 8032K 932K select 5 0:01 0.00% make -m /dumpster/home/arundel/src/share/mk -f Makefile.inc1
17951 1233 1 20 0 8032K 932K select 2 0:01 0.00% make -m /dumpster/home/arundel/src/share/mk -f Makefile.inc1
96695 1233 1 20 0 15820K 4344K select 6 0:00 0.00% sshd: arundel at pts/2 (sshd)
37628 937 1 20 0 10280K 2104K select 4 0:00 0.00% screen -e^Bb
97334 1233 1 20 0 8032K 992K select 1 0:00 0.00% /scratch/tmp/arundel/obj/dumpster/home/arundel/src/make.i386
92868 1233 1 20 0 8032K 928K select 3 0:00 0.00% make -f Makefile.inc1 DESTDIR=/scratch/tmp/arundel/obj/mips.
91735 1233 1 20 0 8032K 928K select 5 0:00 0.00% make -f Makefile.inc1 DESTDIR=/scratch/tmp/arundel/obj/mips.
91731 1233 1 20 0 8032K 916K select 0 0:00 0.00% make -f Makefile.inc1 DESTDIR=/scratch/tmp/arundel/obj/arm.a
93498 1233 1 20 0 8032K 928K select 1 0:00 0.00% make -f Makefile.inc1 DESTDIR=/scratch/tmp/arundel/obj/mips.
92535 1233 1 20 0 8032K 928K select 3 0:00 0.00% make -f Makefile.inc1 DESTDIR=/scratch/tmp/arundel/obj/mips.
7980 1233 1 20 0 8032K 928K select 1 0:00 0.00% make -f Makefile.inc1 DESTDIR=/scratch/tmp/arundel/obj/mips.
18132 0 1 -16 - 0K 8K - 7 0:00 0.00% [nfsiod 0]
1056 25 1 20 0 11340K 2228K pause 1 0:00 0.00% sendmail: Queue runner at 00:30:00 for /var/spool/clientmqueue
78679 1233 1 21 0 8032K 1020K select 6 0:00 0.00% /scratch/tmp/arundel/obj/dumpster/home/arundel/src/make.i386
75016 1233 1 21 0 8032K 952K select 2 0:00 0.00% make -f Makefile.inc1 _prebuild_libs
80527 1233 1 20 0 8032K 940K select 2 0:00 0.00% make -f Makefile.inc1 _prebuild_libs
79754 1233 1 47 0 8032K 940K select 2 0:00 0.00% make -f Makefile.inc1 _prebuild_libs
80938 1233 1 20 0 8032K 956K select 0 0:00 0.00% make -f Makefile.inc1 _prebuild_libs
79324 1233 1 46 0 8032K 940K select 5 0:00 0.00% make -f Makefile.inc1 _prebuild_libs
94045 1233 1 20 0 8032K 956K select 2 0:00 0.00% make -f Makefile.inc1 _prebuild_libs
36468 0 1 20 0 9656K 1440K pipewr 4 0:00 0.00% cron: running job (cron)
36466 0 1 20 0 9656K 1432K pipewr 3 0:00 0.00% cron: running job (cron)
98751 1233 1 52 0 8032K 3308K select 5 0:00 0.00% make DIRPRFX=kerberos5/lib/libroken/ all
47882 1233 1 20 0 8032K 968K select 1 0:00 0.00% make -f Makefile.inc1 _startup_libs
99001 1233 1 52 0 8032K 3188K select 3 0:00 0.00% make DIRPRFX=kerberos5/lib/libroken/ all
42348 1233 1 20 0 8032K 968K select 6 0:00 0.00% make -f Makefile.inc1 DESTDIR=/scratch/tmp/arundel/obj/amd64
99546 1233 1 52 0 8032K 2172K select 0 0:00 0.00% make DIRPRFX=secure/lib/libssl/ all
99544 1233 1 52 0 8032K 2292K select 2 0:00 0.00% /scratch/tmp/arundel/obj/dumpster/home/arundel/src/make.i386
96711 1233 1 20 0 3304K 2668K pause 0 0:00 0.00% -zsh (zsh)
1467 1233 1 52 0 16548K 10720K nfsreq 0 0:00 0.00% [cc1]
37630 937 1 20 0 10952K 2372K ttyin 4 0:00 0.00% /bin/tcsh
97311 0 1 24 0 15820K 4272K select 0 0:00 0.00% sshd: arundel [priv] (sshd)
4996 1233 1 20 0 8032K 676K select 0 0:00 0.00% make -j8 tinderbox
17207 1233 1 20 0 8032K 720K select 1 0:00 0.00% make DOING_TINDERBOX=YES universe
96675 0 1 21 0 15820K 4324K select 4 0:00 0.00% sshd: arundel [priv] (sshd)
4993 0 1 20 0 9656K 1492K piperd 3 0:00 0.00% cron: running job (cron)
97810 1233 1 20 0 15820K 4280K select 2 0:00 0.00% sshd: arundel at pts/8 (sshd)
97904 1233 1 30 0 3120K 2476K ttyin 2 0:00 0.00% -zsh (zsh)
2634 937 1 20 0 10952K 2348K ttyin 1 0:00 0.00% /bin/tcsh
1224 1233 1 52 0 8032K 908K select 2 0:00 0.00% make DIRPRFX=lib/libopie/ depend
1362 1233 1 52 0 8032K 908K select 5 0:00 0.00% make DIRPRFX=lib/libopie/ depend
1474 1233 1 52 0 13236K 6316K nfsreq 7 0:00 0.00% [cc1]
5 0 1 155 ki31 0K 8K pgzero 6 0:00 0.00% [pagezero]
1128 0 1 20 0 9624K 1052K ttyin 6 0:00 0.00% /usr/libexec/getty std.9600 ttyu0
1476 1233 1 52 0 13164K 5428K nfs 1 0:00 0.00% [cc1]
1477 1233 1 52 0 13164K 5428K nfsreq 6 0:00 0.00% [cc1]
1337 1233 1 20 0 9964K 1972K CPU5 5 0:00 0.00% top -P -d2 99999
1468 1233 1 52 0 8032K 4456K piperd 0 0:00 0.00% /scratch/tmp/arundel/obj/arm.arm/dumpster/home/arundel/src/t
1487 1233 1 52 0 8032K 4456K piperd 3 0:00 0.00% /scratch/tmp/arundel/obj/arm.armeb/dumpster/home/arundel/src
1125 0 1 52 0 9624K 1048K ttyin 6 0:00 0.00% /usr/libexec/getty Pc ttyv5
1122 0 1 52 0 9624K 1048K ttyin 5 0:00 0.00% /usr/libexec/getty Pc ttyv2
17276 1233 1 52 0 9936K 1440K wait 6 0:00 0.00% sh -ev
1123 0 1 52 0 9624K 1044K ttyin 1 0:00 0.00% /usr/libexec/getty Pc ttyv3
1124 0 1 52 0 9624K 1052K ttyin 3 0:00 0.00% /usr/libexec/getty Pc ttyv4
17277 1233 1 52 0 9936K 1440K wait 4 0:00 0.00% sh -ev
1368 1233 1 52 0 8032K 548K wait 5 0:00 0.00% [cc]
17275 1233 1 52 0 9936K 1440K wait 3 0:00 0.00% sh -ev
1120 0 1 52 0 9624K 1048K ttyin 2 0:00 0.00% /usr/libexec/getty Pc ttyv0
17269 1233 1 52 0 9936K 1440K wait 0 0:00 0.00% sh -ev
1126 0 1 52 0 9624K 1048K ttyin 4 0:00 0.00% /usr/libexec/getty Pc ttyv6
1121 0 1 52 0 9624K 1048K ttyin 5 0:00 0.00% /usr/libexec/getty Pc ttyv1
1127 0 1 52 0 9624K 1048K ttyin 0 0:00 0.00% /usr/libexec/getty Pc ttyv7
17893 1233 1 52 0 9936K 1444K wait 3 0:00 0.00% sh -ev
17274 1233 1 52 0 9936K 1440K wait 0 0:00 0.00% sh -ev
1485 1233 1 52 0 8032K 3080K piperd 6 0:00 0.00% /scratch/tmp/arundel/obj/mips.mips64eb/dumpster/home/arundel
17266 1233 1 52 0 9936K 1440K wait 2 0:00 0.00% sh -ev
17936 1233 1 52 0 9936K 1444K wait 6 0:00 0.00% sh -ev
92547 1233 1 32 0 9936K 1444K wait 6 0:00 0.00% sh -ev
17934 1233 1 52 0 9936K 1444K wait 4 0:00 0.00% sh -ev
97333 1233 1 29 0 9936K 1448K wait 3 0:00 0.00% sh -ev
17267 1233 1 52 0 9936K 1440K wait 2 0:00 0.00% sh -ev
17268 1233 1 52 0 9936K 1440K wait 5 0:00 0.00% sh -ev
17937 1233 1 52 0 9936K 1444K wait 1 0:00 0.00% sh -ev
1218 1233 1 52 0 9936K 1452K wait 2 0:00 0.00% sh -ev
98392 1233 1 46 0 9936K 1452K wait 1 0:00 0.00% sh -ev
98630 1233 1 52 0 9936K 1456K wait 0 0:00 0.00% sh -ev
98621 1233 1 52 0 9936K 1452K wait 0 0:00 0.00% sh -ev
1475 1233 1 52 0 8032K 3076K piperd 1 0:00 0.00% /scratch/tmp/arundel/obj/mips.mipsel/dumpster/home/arundel/s
97896 1233 1 45 0 9936K 1452K wait 5 0:00 0.00% sh -ev
17945 1233 1 52 0 9936K 1444K wait 1 0:00 0.00% sh -ev
42345 1233 1 31 0 9936K 1448K wait 7 0:00 0.00% sh -ev
97359 1233 1 32 0 9936K 1448K wait 1 0:00 0.00% sh -ev
66754 1233 1 37 0 9936K 1456K wait 1 0:00 0.00% sh -ev
36465 0 1 20 0 9656K 1440K ppwait 1 0:00 0.00% cron: running job (cron)
91730 1233 1 28 0 9936K 1448K wait 4 0:00 0.00% sh -ev
48744 1233 1 29 0 9936K 1456K wait 3 0:00 0.00% sh -ev
7999 1233 1 33 0 9936K 1448K wait 0 0:00 0.00% sh -ev
17921 1233 1 52 0 9936K 1444K wait 2 0:00 0.00% sh -ev
1351 1233 1 52 0 9936K 1452K wait 4 0:00 0.00% sh -ev
1478 1233 1 52 0 9936K 1432K wait 3 0:00 0.00% sh -ev
1367 1233 1 52 0 9936K 1492K wait 5 0:00 0.00% [sh]
17914 1233 1 52 0 9936K 1444K wait 5 0:00 0.00% sh -ev
92867 1233 1 27 0 9936K 1448K wait 3 0:00 0.00% sh -ev
1484 1233 1 52 0 13164K 4984K nfsreq 5 0:00 0.00% [cc1]
1365 1233 1 52 0 9936K 1440K wait 0 0:00 0.00% sh -ev
92887 1233 1 33 0 9936K 1444K wait 0 0:00 0.00% sh -ev
93509 1233 1 33 0 9936K 1448K wait 1 0:00 0.00% sh -ev
92534 1233 1 30 0 9936K 1448K wait 0 0:00 0.00% sh -ev
91743 1233 1 31 0 9936K 1452K wait 0 0:00 0.00% sh -ev
91733 1233 1 29 0 9936K 1448K wait 7 0:00 0.00% sh -ev
93497 1233 1 28 0 9936K 1448K wait 0 0:00 0.00% sh -ev
7979 1233 1 29 0 9936K 1448K wait 2 0:00 0.00% sh -ev
1481 1233 1 52 0 9936K 1436K wait 5 0:00 0.00% sh -ev
91750 1233 1 33 0 9936K 1444K wait 6 0:00 0.00% sh -ev
1480 1233 1 52 0 9936K 1432K wait 1 0:00 0.00% sh -ev
42369 1233 1 30 0 9936K 1448K wait 0 0:00 0.00% sh -ev
1486 1233 1 52 0 13164K 5068K nfsreq 2 0:00 0.00% [cc1]
18120 1233 1 37 0 9936K 1444K wait 0 0:00 0.00% sh -ev
1472 1233 1 52 0 9936K 1432K wait 6 0:00 0.00% sh -ev
1479 1233 1 52 0 8032K 516K nfsreq 1 0:00 0.00% [cc]
1488 1233 1 52 0 9936K 1432K wait 4 0:00 0.00% sh -ev
1483 1233 1 52 0 8032K 536K wait 1 0:00 0.00% [cc]
1465 1233 1 52 0 9936K 1436K wait 1 0:00 0.00% sh -ev
17206 1233 1 52 0 9936K 1444K wait 0 0:00 0.00% sh -ev
1482 1233 1 52 0 8032K 532K wait 2 0:00 0.00% [cc]
1473 1233 1 52 0 8032K 536K wait 0 0:00 0.00% [cc]
17283 1233 1 52 0 9936K 1452K wait 1 0:00 0.00% sh -ev
17292 1233 1 52 0 9936K 1452K wait 3 0:00 0.00% sh -ev
1466 1233 1 52 0 8032K 536K wait 0 0:00 0.00% [cc]
17295 1233 1 52 0 9936K 1452K wait 5 0:00 0.00% sh -ev
17291 1233 1 52 0 9936K 1452K wait 5 0:00 0.00% sh -ev
17296 1233 1 52 0 9936K 1452K wait 2 0:00 0.00% sh -ev
17280 1233 1 52 0 9936K 1452K wait 6 0:00 0.00% sh -ev
1489 1233 1 52 0 8032K 520K nfsreq 0 0:00 0.00% [cc]
17278 1233 1 52 0 9936K 1452K wait 5 0:00 0.00% sh -ev
17289 1233 1 52 0 9936K 1452K wait 2 0:00 0.00% sh -ev
36464 0 1 20 0 9656K 1432K ppwait 4 0:00 0.00% cron: running job (cron)
2 0 1 -16 - 0K 8K waitin 5 0:00 0.00% [sctp_iterator]
4 0 1 -16 - 0K 8K psleep 2 0:00 0.00% [vmdaemon]
10 0 1 -16 - 0K 8K audit_ 0 0:00 0.00% [audit]
More information about the freebsd-current
mailing list