I spent a while this morning hunting down the root cause of a 100% CPU MIMEDefang process. (Turned out to be one specific email triggering one of my custom SpamAssassin rules that seems to get processed really inefficiently.) I wasn’t able to find any documentation on how to debug where in MIMEDefang an email was getting stuck, and even jacking up the debugging output of my mimedefang-filter script seemed to imply it was happening late in the filtering process. After digging through mimedefang.pl
, I found a “status reporting” subsystem and tracked it back out into configuration in /etc/default/mimedefang
:
# Uncomment next line to have busy slaves send status updates to the
# multiplexor. NOTE: Consumes one extra file descriptor per slave, plus
# a bit of CPU time.
# MX_STATUS_UPDATES=yes
Turning this on, and then using “md-mx-ctrl busyslaves
” (I command I didn’t know existed until today either) I got to see exactly where it was stuck:
3 B 13380 (Running SpamAssassin j951iX1t025805)
Now I’m having fun running md-mx-ctl
with histo
, barstatus
, and load
. :)
© 2009, Kees Cook. This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 License.