Gunther Mayer wrote:
Hi there,
I'm having some capacity issues on the FreeBSD 6.2/Core 2 Duo/2GB RAM
server that I manage. For quite a few days now it constantly shows load
averages of around 1 and a CPU usage of around 100%. Yet summing up the
CPU usage of the individual processes running I hardly ever get to more
than 5%, regardless of how long I watch top.
A snapshot of my top output looks like this:
last pid: 96102; load averages: 1.28, 1.15,
1.06
up 22+08:33:16 13:55:03
122 processes: 2 running, 119 sleeping, 1 zombie
CPU states: 67.3% user, 0.0% nice, 32.7% system, 0.0% interrupt, 0.0%
idle
Mem: 474M Active, 974M Inact, 186M Wired, 68M Cache, 213M Buf, 93M Free
Swap: 4064M Total, 4064M Free
PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
635 root 1 122 0 27304K 2644K select 656:38 1.27% syslog-ng
844 www 20 20 0 411M 300M kserel 360:13 0.00% java
837 user1 3 20 0 29048K 5672K kserel 34:30 0.00% radiusd
788 pgsql 1 96 0 13516K 3824K select 10:03 0.00% postgres
785 pgsql 1 115 0 120M 7436K select 9:02 0.00% postgres
787 pgsql 1 8 0 120M 41112K nanslp 5:15 0.00% postgres
syslog-ng is quite busy as I use it to capture logs of more than 50
remote sites. I have lots of slow queries in my postgres logs that I
think are related to this bottleneck, though unoptimised queries and an
ever growing amount of data are more likely to take the blame for that.
High disk I/O in this regard could explain the high system utilisation,
however.
I found out that I've been bitten by the freebsd-update bug
(http://security.freebsd.org/advisories/FreeBSD-EN-07:05.freebsd-update.asc)
which replaced my SMP kernel with a GENERIC one and I'm taking
corrective action early tomorrow morning, but surely even with just a
single CPU the load average should never be as high?
Where are those phantom CPU hogging processes?
A couple of points:
1) top -S will show what the kernel is doing, which may be relevant.
2) Because it only samples once a second (by default), top is bad for
monitoring of any short-lived processes that may be using CPU for brief
periods and then exiting. Don't know if you have any on this workload
though.
3) In 6.x threaded applications do not generate CPU usage data in top. ,
i.e. java is probably using more than 0% of your CPU :) I think this is
fixed in 7.0 and maybe also with libthr. Chances are you want to use
libthr even in 6.x for performance reasons (libkse has attrocious
performance). Use libmap.conf to switch the libraries.
Kris
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"