Autor: Hubbard, Matt Data: A: 'exim-users@exim.org' Assumpte: [Exim] Memory usage
Hi,
I was wondering, how much memory is taken up with each "RCPT TO" during an
incoming SMTP transaction?
We had an odd problem last week. Very unresponsive exim mail relays,
effectively denying normal service.
A daemon process would fork to receive a message and then the memory usage
would keep climbing until it used all available memory (~450MB mem + swap)
and was killed by the kernel.
It was very difficult to work out what was causing this as we couldn't
identify a runaway in time to catch the MAIL FROM in an strace, and there
didn't seem to be any logging information written about it at all.
It turned out to be someone trying to send a message to ~ 4500 recipients. I
had thought there was a default cap on the number of recipients, but it
turned out I'd misread the documentation getting max_rcpt and recipients_max
confused.
Even still I find it hard to believe that 4500 "RCPT TO"s could take up over
400 MB of memory, which makes me think we've missed something.