Re: [exim] exim processes

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Marten Lehmann
CC: exim-users
Subject: Re: [exim] exim processes
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