From: Chris [mailto:[EMAIL PROTECTED] > > I've been meaning to ask this ever since I upgraded to 3.0.1 but > keep forgetting. Under 2.63 I always had one spamd process running > and when Kmail called spamc a spamd child was spawned, when > processing was finished, that child process died. With 3.0.1 I > have two spamd process continuously running and no new children are > spawned. Now I'm not experiencing any memory problems or anything > I'm just wondering if its possible to go back to the single spamd > process and have it spawn one child when processing? > I have this set in my /etc/rc.d/init.d/spamassassin script: > > Source spamd configuration. > if [ -f /etc/sysconfig/spamd ] ; then > . /etc/sysconfig/spamd > else > OPTIONS="-d -c -H -m1" > fi > > Or did I miss reading something in the upgrade docs or the docs for > 3.0.1?
You missed something... SA 3.0.1 pre-spawns it's children. Rather than spawning a child for each incoming connection, it pre-spawns a set number of children to deal with the connections. You can control how many children are spawned and also how many connections they will accept before dying and being replaced. >From the spamd man page: -m number , --max-children=number This option specifies the maximum number of children to spawn. Spamd will spawn that number of children, then sleep in the back- ground until a child dies, wherein it will go and spawn a new child. Incoming connections can still occur if all of the children are busy, however those connections will be queued waiting for a free child. The minimum value is 1, the default value is 5. Please note that there is a OS specific maximum of connections that can be queued (Try "perl -MSocket -e'print SOMAXCONN'" to find this maximum). --max-conn-per-child=number This option specifies the maximum number of connections each child should process before dying and letting the master spamd process spawn a new child. The minimum value is 1, the default value is 200. Bowie