I suspect most of the space allocated at start-up is down in the pj_ioqueue layer.  We currently initialize it with space for 65535 connections, so it immediately allocates a fairly large structure (close to 300 bytes) for each of these from the endpt pool - so nearly 20MB .  Other possible uses are the timer heap, 2 40 byte structures for each transaction.

I think it would be better if we could have a large initial size and a smaller increment, with the initial size tuned so we can get all the initialization in it (and preferably have it self-tune rather than us have to tweak it all the time).

We should therefore do some test runs with some extra logging so we can see where the memory is going during initialization.