Hello,
On Friday 07 September 2007 05:38:15 Peter Mann wrote:
On Thu, Sep 06, 2007 at 10:24:50PM +0200, Peter Mann
wrote:
i have many "perdition.pop3s: close"
processes ... they eat all
memory and then server hangs ... if i add "connection_logging" to conf,
all is OK ...
system is still ok after few hours ... i have munin graphs of
memory usage ... so who can explain it ???
I have one very stupid suggestion. So stupid, it may actually make sense,
even though the bit "on production server 2-3 years without such problem"
might render my suggestion a no-go.
Maybe during the normal operation the kernel is not able to gather enough
entropy and if that is needed during pop connection shutdown, processes will
stall and wait until they get their precious random data from /dev/random.
After enabling connection logging there's suddenly enough activity in the
system so kernel is able to harvest entropy and fill the entropy pool.
Please try
cat /proc/sys/kernel/random/entropy_avail
just when the processes start to pile up. If the number is 0, your system has
run out of entropy.
If that's the problem, you need to make Perdition (or saslauthd/sasl
libraries?) to get their random data from /dev/urandom instead. Another
option is to install rngd, which shovels semi-random numbers
from /dev/urandom to /dev/random, making sure entropy pool has something to
give out any time. rngd is available in package rng-tools (at least in
Gentoo).
Best regards,
Janne Pikkarainen