8.0: OpenSSL stat()'s NLS 500+ times causing extreme system load

Linda Messerschmidt linda.messerschmidt at gmail.com
Tue Dec 15 21:24:20 UTC 2009


On Tue, Dec 15, 2009 at 12:53 PM, Dan Nelson <dnelson at allantgroup.com> wrote:
> It's defined in src/lib/libc/Makefile, so you should be able to remove that
> line, rebuild libc and reinstall, and see whether your performance issue
> goes away.

I tried that and as you predicted, all the bogus stat calls went away.

Unfortunately the performance issue did not. :(  Back to the drawing
board for me!

Upon further inspection, it seems as though for each check, Nagios
spawns a process that spawns a process that spawns a process that runs
the check.  I did "ktrace -i -t w -p (nagiospid)" on Nagios for 30
seconds and the ktrace output contained records from 2365 different
processes spawned in that 30 seconds.  During that time, I would
expect about 800 checks to have run, so it does seem like it's right
at 3 processes per check.

I just don't think the system can keep up with all that fork()ing
without going all out; it's just a limit of the Nagios plugin
architecture.

But thank you very much for point me in the right direction!


More information about the freebsd-questions mailing list