This thread described a problem with sa-learn consuming huge amounts of CPU, eventually bogging down the machine and using all available memory. Here’s how it looks in munin:
I found this script that wraps the sa-learn script as a workaround for exactly this issue. It checks current load and backs off if it’s high. Spam processing is generally not a high profile activity, so while this will slow down processing a bit, it should not cause major issues. I have set it up on my MIAB, and I’ll see how it goes.