Date: Thu, 14 Sep 2006 08:47:58 +0300 From: Giorgos Keramidas <keramida@FreeBSD.org> To: "Tamouh H." <hakmi@rogers.com> Cc: questions@FreeBSD.org, 'Ian Smith' <smithi@nimnet.asn.au> Subject: Re: Top not showing cpu usage even remotely accurately Message-ID: <20060914054758.GA77575@gothmog.pc> In-Reply-To: <20060914044822.E7C1E5C17FD@poseidon.ceid.upatras.gr> References: <20060810055227.GA7051@gothmog.pc> <20060914044822.E7C1E5C17FD@poseidon.ceid.upatras.gr>
next in thread | previous in thread | raw e-mail | index | archive | help
--FL5UXtIhxfXey3p5 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On 2006-09-14 00:48, "Tamouh H." <hakmi@rogers.com> wrote: > I think TOP and load averages are no longer accurate on FBSD 5.x and > 6.x with SMP kernel. As far as I've seen. Load averages hit sometimes > 8.0 without a noticable degradation in performance. > > This is one TOP that freaked me out, notice Idle CPU is 70% while the > process is showing it is using 99% of CPU. systat draws more accurate > picture, however, load average is still useless as far as performance > monitoring : > > last pid: 10174; load averages: 1.63, 1.44, 1.20 up 4+00:25:19 00:39:20 > 169 processes: 2 running, 166 sleeping, 1 zombie > CPU states: 25.8% user, 0.0% nice, 0.7% system, 0.1% interrupt, 73.4% idle > Mem: 1316M Active, 1445M Inact, 297M Wired, 127M Cache, 112M Buf, 79M Free > Swap: 8762M Total, 2096K Used, 8760M Free > > PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU CPU COMMAND > 13362 root 111 0 36444K 34196K CPU3 3 50:06 98.88% 98.88% perl5.8.7 > 90391 root 96 0 27356K 26236K select 2 0:06 0.54% 0.54% perl5.8.7 > 79619 nobody 4 0 209M 84640K sbwait 1 0:09 0.39% 0.39% httpd > 10161 root 97 0 6712K 4752K select 2 0:00 1.40% 0.20% exim-4.62-0 > 79649 nobody 20 0 210M 84464K lockf 0 0:06 0.15% 0.15% httpd Apparently, you have a 4-CPU system :-) What you see displayed as "CPU" is for one of the processors, not for all of them. Load average is not an easy thing to update for an SMP system, I guess. There are two options: - Set load-average to >= 1.0 if at least one process wants to run on at least one processor - Calculate an aggregate load-average for all CPUs None of these is 100% correct, though. One of them is useful in some cases. The other in other cases :-( I don't remember off-hand how 5.X or 6.X calculate their load-average, but I'd be interested to know what you expected it to show, or what it shows on Linux systems. --FL5UXtIhxfXey3p5 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (FreeBSD) iD8DBQFFCO0O1g+UGjGGA7YRAtL5AKCs/sd6V5aIv1g40VftExLyLPRhFgCeL2Lb 0Fd9D6ZVTzGN46/6n8mtpVE= =HwPU -----END PGP SIGNATURE----- --FL5UXtIhxfXey3p5--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060914054758.GA77575>