
per at computer
Oct 7, 2009, 4:41 AM
Post #7 of 9
(666 views)
Permalink
|
Martin Gregorie wrote: >> Yeah - maybe there is some indication in the log? I think there is a >> switch that determines how many emails a child will process before >> needing restart. (just looked it up: --max-conn-per-child) >> I just checked my logs, during the last 9 hours I have 6016 of these: >> >> spamd[11362]: spamd: handled cleanup of child pid 14010 due to SIGCHLD >> >> Is that the one you mean? >> > That's the only log message I've seen. Sometimes you can associate it > with a scan that exceeded --timeout-child seconds and sometimes, much > more rarely, it happens after a scan taking two or three seconds. I don't know if that is happening on my systems too, I haven't checked. I wonder if the latter could be caused by the maintenance of spare child processes? >> There are also arguments for controlling minimum/maximum number of spare >> child processes - if your load varies, and you have a significant >> difference between min and max, I could see that leading to more child >> processes stopping and starting. >> > Does the parent or the child determine whether the child stays alive > after completing a scan or whether it should terminate? It's the child that determines that "Uh, I've done X scans, all done". It's just a for-loop: for( i=0; i<maxscansperchild; i++ ) wait for work do work If it's about pruning idle child processes, the parent is no doubt doing it. /Per
|