Re: [Exim] Exim 4 not spawning multiple delivery processes

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Gavin Sherry
CC: exim-users
Subject: Re: [Exim] Exim 4 not spawning multiple delivery processes
On Mon, 15 Dec 2003, Gavin Sherry wrote:

> I have a director reading email addresses out of a PostgreSQL database.
> Some messages have around 10,000 recipients.


Are you really sending single messages with 10,000 recipients? That
doesn't work too well with Exim because it does all the routing before
any deliveries. You will get better performance if you send 100 copies
each with 100 recipients. That will get some parallelism into the
routing.

> queue_run_max = 50
> remote_max_parallel = 150


How are you starting queue runners? Do you ever actually get up to 50 of
them (use exiwhat to see what Exim processes are doing).

> I thought I might be hitting kernel limits (on Linux 2.4). The (root)
> process starting exim has the following ulimit:
>
> core file size        (blocks, -c) 0
> data seg size         (kbytes, -d) unlimited
> file size             (blocks, -f) unlimited
> max locked memory     (kbytes, -l) unlimited
> max memory size       (kbytes, -m) unlimited
> open files                    (-n) 8192
> pipe size          (512 bytes, -p) 8
> stack size            (kbytes, -s) 8192
> cpu time             (seconds, -t) unlimited
> max user processes            (-u) 7168
> virtual memory        (kbytes, -v) unlimited

>
> Of course, I may be wrong in assuming that exim inherits these across the
> root->exim change.


I suspect it doesn't; otherwise how could non-root processes ever be
more limited? (But I am not an operating system expert.) I suggest you
check out the max user processes setting for non-root users.


--
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book:    http://www.uit.co.uk/exim-book