Greetings,

spamd is using 100% CPU on my RaspberryPi 2 B, even though there is no
email coming in.  Each process only runs 10 seconds or so, but then a new
one starts.  (I have m set to 1)

I tried some of the tips on the site, ran sa-compile and disabled most
plugins, but that didn't help much(at all).

Here's some info:
# spamassassin -V
SpamAssassin version 3.4.0
  running on Perl version 5.18.4
# cat /etc/redhat-release
Fedora release 21 (Twenty One)
# rpm -qa |grep spamassassin
spamassassin-3.4.0-13.fc21.armv7hl

What the best way to optimize this/configure it different?

I know a Raspberry Pi isn't ideal for a mail server, at least at this
point, but as a test mail server, it would be nice to have spamassassin on
it.

And here's an strace of one of the processes:
Process 30566 attached
nanosleep({0, 873471171}, 0x7e83c91c)   = 0
gettimeofday({1434737813, 744634}, NULL) = 0
wait4(30568, 0x7e83cac8, WNOHANG, NULL) = 0
gettimeofday({1434737813, 745470}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, 0x7e83c91c)           = 0
gettimeofday({1434737814, 748539}, NULL) = 0
wait4(30568, 0x7e83cac8, WNOHANG, NULL) = 0
gettimeofday({1434737814, 749782}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, 0x7e83c91c)           = 0
gettimeofday({1434737815, 752814}, NULL) = 0
wait4(30568, 0x7e83cac8, WNOHANG, NULL) = 0
gettimeofday({1434737815, 753637}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, 0x7e83c91c)           = 0
gettimeofday({1434737816, 756625}, NULL) = 0
wait4(30568, 0x7e83cac8, WNOHANG, NULL) = 0
gettimeofday({1434737816, 757839}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, 0x7e83c91c)           = 0
gettimeofday({1434737817, 761208}, NULL) = 0
wait4(30568, 0x7e83cac8, WNOHANG, NULL) = 0
gettimeofday({1434737817, 761984}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, 0x7e83c91c)           = 0
gettimeofday({1434737818, 764676}, NULL) = 0
wait4(30568, 0x7e83cac8, WNOHANG, NULL) = 0
gettimeofday({1434737818, 765452}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, 0x7e83c91c)           = 0
gettimeofday({1434737819, 768158}, NULL) = 0
wait4(30568, 0x7e83cac8, WNOHANG, NULL) = 0
gettimeofday({1434737819, 768979}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, 0x7e83c91c)           = 0
gettimeofday({1434737820, 771955}, NULL) = 0
wait4(30568, 0x7e83cac8, WNOHANG, NULL) = 0
gettimeofday({1434737820, 772955}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, 0x7e83c91c)           = 0
gettimeofday({1434737821, 775742}, NULL) = 0
wait4(30568, 0x7e83cac8, WNOHANG, NULL) = 0
gettimeofday({1434737821, 776927}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, 0x7e83c91c)           = 0
gettimeofday({1434737822, 782533}, NULL) = 0
wait4(30568, 0x7e83cac8, WNOHANG, NULL) = 0
gettimeofday({1434737822, 783820}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, 0x7e83c91c)           = 0
gettimeofday({1434737823, 788340}, NULL) = 0
wait4(30568, 0x7e83cac8, WNOHANG, NULL) = 0
gettimeofday({1434737823, 789393}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, 0x7e83c91c)           = 0
gettimeofday({1434737824, 791926}, NULL) = 0
wait4(30568, 0x7e83cac8, WNOHANG, NULL) = 0
gettimeofday({1434737824, 792918}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, 0x7e83c91c)           = 0
gettimeofday({1434737825, 795820}, NULL) = 0
wait4(30568, 0x7e83cac8, WNOHANG, NULL) = 0
gettimeofday({1434737825, 796658}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, 0x7e83c91c)           = 0
gettimeofday({1434737826, 799487}, NULL) = 0
wait4(30568, 0x7e83cac8, WNOHANG, NULL) = 0
gettimeofday({1434737826, 800661}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, 0x7e83c91c)           = 0
gettimeofday({1434737827, 803426}, NULL) = 0
wait4(30568, 0x7e83cac8, WNOHANG, NULL) = 0
gettimeofday({1434737827, 804264}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, 0x7e83c91c)           = 0
gettimeofday({1434737828, 807201}, NULL) = 0
wait4(30568, 0x7e83cac8, WNOHANG, NULL) = 0
gettimeofday({1434737828, 808105}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, 0x7e83c91c)           = 0
gettimeofday({1434737829, 811356}, NULL) = 0
wait4(30568, 0x7e83cac8, WNOHANG, NULL) = 0
gettimeofday({1434737829, 812511}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, 0x7e83c91c)           = 0
gettimeofday({1434737830, 815179}, NULL) = 0
wait4(30568, 0x7e83cac8, WNOHANG, NULL) = 0
gettimeofday({1434737830, 816004}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, 0x7e83c91c)           = 0
gettimeofday({1434737831, 818832}, NULL) = 0
wait4(30568, 0x7e83cac8, WNOHANG, NULL) = 0
gettimeofday({1434737831, 819707}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, 0x7e83c91c)           = 0
gettimeofday({1434737832, 823076}, NULL) = 0
wait4(30568, 0x7e83cac8, WNOHANG, NULL) = 0
gettimeofday({1434737832, 824216}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, {0, 883823067})       = ? ERESTART_RESTARTBLOCK
(Interrupted by signal)
--- SIGUSR1 {si_signo=SIGUSR1, si_code=SI_USER, si_pid=30568, si_uid=0} ---
sigreturn({mask=[]})                    = -1 EINTR (Interrupted system call)
gettimeofday({1434737832, 943994}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [USR1], [], 8) = 0
rt_sigaction(SIGUSR1, NULL, {0x76eb4d40, [], SA_RESTORER, 0x76bdbe60}, 8) =
0
rt_sigprocmask(SIG_UNBLOCK, [USR1], NULL, 8) = 0
wait4(30568, 0x7e83cac8, WNOHANG, NULL) = 0
rt_sigaction(SIGHUP, NULL, {SIG_DFL, [], SA_RESTORER, 0x76bdbe60}, 8) = 0
rt_sigaction(SIGINT, NULL, {SIG_DFL, [], SA_RESTORER, 0x76bdbe60}, 8) = 0
rt_sigaction(SIGQUIT, NULL, {SIG_DFL, [], SA_RESTORER, 0x76bdbe60}, 8) = 0
rt_sigaction(SIGILL, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTRAP, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGABRT, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGBUS, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGFPE, NULL, {SIG_IGN, [FPE], SA_RESTORER|SA_RESTART,
0x76bdbe60}, 8) = 0
rt_sigaction(SIGKILL, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGUSR1, NULL, {0x76eb4d40, [], SA_RESTORER, 0x76bdbe60}, 8) =
0
rt_sigaction(SIGUSR1, {SIG_DFL, [], SA_RESTORER, 0x76bdbe60}, {0x76eb4d40,
[], SA_RESTORER, 0x76bdbe60}, 8) = 0
rt_sigaction(SIGSEGV, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGUSR2, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGPIPE, NULL, {SIG_IGN, [], SA_RESTORER, 0x76bdbe60}, 8) = 0
rt_sigaction(SIGALRM, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTERM, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGSTKFLT, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGCONT, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGSTOP, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTSTP, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTTIN, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTTOU, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGURG, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGXCPU, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGXFSZ, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGVTALRM, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGPROF, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGWINCH, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGIO, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGPWR, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGSYS, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_2, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_3, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_4, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_5, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_6, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_7, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_8, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_9, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_10, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_11, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_12, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_13, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_14, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_15, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_16, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_17, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_18, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_19, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_20, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_21, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_22, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_23, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_24, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_25, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_26, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_27, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_28, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_29, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_30, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_31, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_32, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGABRT, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGIO, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGSYS, NULL, {SIG_DFL, [], 0}, 8) = 0
close(4)                                = 0
close(5)                                = 0
close(3)                                = 0
exit_group(0)                           = ?
+++ exited with 0 +++

Thanks in advance!

Reply via email to