On Wed, 26 Jul 2006, Marten Lehmann wrote:
> Hello,
>
> in my configuration I set the smtp_accept_max limit to 196 and
> queue_run_max to 10. However, when I'm doing a
>
> ps ax | grep exim | wc -l
>
> I get results of > 2500. How can this happen? There are no local agents
> that inject mails, it is a pure smtp-in, smtp-out server.
You should have come on the Exim course last week. :-)
It isn't as simple as you think. The maximum number of Exim processes is
not trivially limited. It's something like this:
daemon process 1
smtp incoming 196
for each incoming, any number of delivery processes that have
started but not ended X
queue runners 10
for each queue runner, one delivery process
for each delivery process, 1 additional process while doing local
deliveries (more if any are to pipes), but you have none of these
for each delivery process, up to remote_max_parallel subprocesses doing
smtp deliveries.
You can avoid the unknown X by setting queue_only. In that case, the max
is something like
1 + 196 + 10 + 10*(1 + remote_max_parallel)
2500 sounds a lot, though. Have you tried using exiwhat to find out what
they are all doing?
--
Philip Hazel University of Cambridge Computing Service
Get the Exim 4 book: http://www.uit.co.uk/exim-book