Date: Sun, 25 Dec 2011 21:40:33 +0000 From: Alexander Best <arundel@freebsd.org> To: freebsd-current@freebsd.org Subject: starting the annual discussion regarding top(1)'s CPU usage statistics Message-ID: <20111225214033.GA1933@freebsd.org>
next in thread | raw e-mail | index | archive | help
--liOOAslEiF7prFVr Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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. ;) --liOOAslEiF7prFVr Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="ridiculous-top-ouput.txt" 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@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@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@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@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] --liOOAslEiF7prFVr--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20111225214033.GA1933>