I have noticed that sort_hook function (in apr_hooks.c) doesn't destroy temporary pool.
This leads to a memory consumption of ~500K (=68 hooks * 8K) per PROCESS! Since the sorted hooks are memcpy'ed to another pool anyway, no one needs this pool after the function return. So the resolution is very simple - destroy this pool after usage (before returning the sorted hooks array). I have tested this solution in my environment, without any problems. What do you think about this? Regards, Yehezkel