SaslAuth + Mysql (SOLVED)

Andrew Morgan morgan at orst.edu
Wed Feb 8 18:01:53 EST 2006


On Wed, 8 Feb 2006, Vernon A. Fort wrote:

> I have posted a few messages to several groups lately concerning crashing 
> with "out of memory" errors.  The system would run for several days and then 
> just crash.  I think I found the problem and it wasn't lmtpd or bitdefender 
> or postfix or the number of concurrent messages..  It was the saslauthd not 
> releasing its swap usage.
>
> Saslauthd's memory usage would continue to grow (watching top with a 
> shift+m).  Once I restarted the daemon, the total swap usage would shrink to 
> 36k from 2GIG.  I added the FLAGS (-c -s 128 -t 30) to the init script.  The 
> setup:
>
>   postfix + amavisd-new + clamav + cyrus-sasl + cyrus-imapd + mysql
>
> Cyrus-imap is configured to use saslauthd - saslauthd is configured to use 
> pam and pam/imap is using the pam_mysql.
>
> Again, the system would run fine for a few days and then crash.  I discovered 
> this by watching vmstat+top+iostat and noticed when 200+ messages came in at 
> once, the system hardly swapped at all BUT the swap USED still increased.  I 
> watched the swap used grow to 3 GIG within 36 hours.
>
> Adding the -c FLAG (credential caching) 'appears' to have solved the problem.
>
> Anyway - just posting a follow up in the event someone else has a similar 
> problem.

We had the same problem a long time ago with saslauthd.  Apparently some 
of the pam libraries leak memory and saslauthd grows big fairly fast.  Our 
solution was to add "-n 0" to the command line so that saslauthd forks off 
a new process for every auth request.  It's a bit cpu intensive but works 
well.

I've never tried the -c caching option.  If it is really the pam libraries 
leaking memory, then eventually you'll still run out of memory.  :/

 	Andy


More information about the Info-cyrus mailing list