I shifted to Spamassin 3.0.3 on FreeBSD 5.3 yesterday with dcc enabled. Hardware is Xeon (hyper threading) SC1420 with 1536 MB RAM.
I am using following options to start spamd -d -i $O1 -m40 -u smtpd
<snip>
more debug:: Seems all children are busy!! Do i have to increase max child value ??
14498 ?? Is 0:01.22 /usr/local/bin/spamd -d -i spam-scanner-01 -m40 --allowed-ips=127.0.0.1,202.79.32.7
52851 ?? S 1:07.40 spamd child (perl)
53039 ?? S 1:07.19 spamd child (perl)
53165 ?? S 0:57.46 spamd child (perl)
53186 ?? S 1:01.37 spamd child (perl)
<snip>
No, reduce the number of children. At 20-40MB per child it's no wonder why you've run out of memory with 40 children. Once you do that and the system stops thrashing you should be able to process messages faster.
Daryl