Hello list!
I'm playing with options min-spare,max-spare,min-children and
max-children, I'd like to save memory on my vps. So I'd like to have one
children awaiting for connection from MTA, when MTA receives more emials
in short time I'd like SA to spawn more children (max-children=6). I
thinks it's enough to have zero (or one) spare children in my case.
I'm starting spamd with such parameters:
... --min-spare=0 --max-spare=1 -m 6
I'm expecting I can check 6 emails in the same time because option "-m
6" suggests that six children should be spawned.
Ok, so I've got 2 proceessess:
# pgrep -fc spamd
2
It's ok as for now. Now I'm starting scanning 6 mails at one time:

# (for x in $(seq 1 6); do spamc -c </tmp/q1TQY7Z-4358 >/dev/null &
done) ; pgrep -fc spamd ; sleep 1; pgrep -fc spamd;sleep 1;pgrep -fc spamd
2
2
2
Hmm, still I've got 2 processes (parent+one child).

Let me change start option for spamd:
... --min-spare=0 --max-spare=3 -m 6
# pgrep -fc spamd
4
(How much time of innactivity is needed to kill spare, unused child?).
And I'm launching one-liner:
# (for x in $(seq 1 6); do spamc -c </tmp/q1TQY7Z-4358 >/dev/null &
done) ; pgrep -fc spamd ; sleep 1; pgrep -fc spamd;sleep 1;pgrep -fc
spamd
4
4
4
So for me it looks like max-spare limits max number of children, me
seems it's not desired behavior.
In log I can find:
 spamd[21140]: prefork: child states: BBB
So spamd really didn't spawn more childs.

Am I doing something wrong?

I've found answer for one question:
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6754

Reply via email to