On Wed, 2009-12-02 at 10:07 -0500, Linda Messerschmidt wrote: > > The exploding unused/unaccounted-for memory usage occurs during > regular usage, without any forking at all. We need to figure that out. > At this point, routine forking has been eliminated by moving rotation > to the log child process, so vfork() isn't really a factor for us; it > never gets called. If you guys do choose to go the vfork route, I > hope you test it very carefully because "the parent process is > suspended while the child is using its resources" sounds like a bad > idea to me. We would love it if you could try the patch set. The parent process being suspend is *not* a problem. In regular fork the parent process is suspended too, just for a different duration (copying the kernel metadata) - and that hurt you badly. Note that threads are not suspend, only the task that calls vfork AIUI. I'd need to read the exact code to be totally sure. If I'm right the suspension for starting a new helper can thus be done in a thread, with no impact on squids main non-blocking event loop. -Rob
Attachment:
signature.asc
Description: This is a digitally signed message part