[Mailman-Users] cpu usage

Jon Carnes jonc at nc.rr.com
Mon Feb 16 04:34:16 CET 2004

So ArchRunner is the one... not too surprising.  And the other Qrunners
are all behaving themselves?

# ps aux |grep python
/usr/bin/python ./mailmanctl start
/usr/bin/python /var/mailman/bin/qrunner --runner=ArchRunner:0:1 -s
/usr/bin/python /var/mailman/bin/qrunner --runner=BounceRunner:0:1 -s
/usr/bin/python /var/mailman/bin/qrunner --runner=CommandRunner:0:1 -s
/usr/bin/python /var/mailman/bin/qrunner --runner=IncomingRunner:0:1 -s
/usr/bin/python /var/mailman/bin/qrunner --runner=NewsRunner:0:1 -s
/usr/bin/python /var/mailman/bin/qrunner --runner=OutgoingRunner:0:1 -s
/usr/bin/python /var/mailman/bin/qrunner --runner=VirginRunner:0:1 -s
/usr/bin/python /var/mailman/bin/qrunner --runner=RetryRunner:0:1 -s

You should upgrade to the latest version of Mailman, it does fix some
problems with the ArchRunner.  

If you can't upgrade just yet, you could comment out the archrunner from
running. Copy the following from your ~mailman/Mailman/Default.py file:

    ('ArchRunner',     1), # messages for the archiver
    ('BounceRunner',   1), # for processing the qfile/bounces directory
    ('CommandRunner',  1), # commands and bounces from the outside world
    ('IncomingRunner', 1), # posts from the outside world
    ('NewsRunner',     1), # outgoing messages to the nntpd
    ('OutgoingRunner', 1), # outgoing messages to the smtpd
    ('VirginRunner',   1), # internally crafted (virgin birth) messages
    ('RetryRunner',    1), # retry temporarily failed deliveries

And paste it into your ~mailman/Mailman/mm_py.cfg file, then delete the
line with ArchRunner:

    ('ArchRunner',     1), # messages for the archiver

Now when you run "mailmanctl start" the ArchRunner won't be started by
default.  If you have lists that need archiving, then you can run the
ArchRunner separately via a cron job out of the cron table for user

#Start-up Mailman's ArchRunner archiving process at 8pm...
0 20 * * *  /usr/bin/python /var/mailman/bin/qrunner
--runner=ArchRunner:0:1 -s

#Stop Mailman's ArchRunner archving process at 6am...
0 6 * * *  ps aux |grep ArchRunner |grep -v grep |cut -c9-15 |xargs kill

I'm curious if your lists are actually being archived?  Are the messages
making it into the archives?

Jon Carnes

On Sat, 2004-02-14 at 23:44, Adam Kessel wrote:
> Thanks for the reply:
> On Sat, Feb 14, 2004 at 08:34:07PM -0500, Jon Carnes wrote:
> > Each of the qrunners is launched with its specific job:
> The qrunner which is using 98% of CPU is ArchRunner.
> > What is your Qrunner_Sleep_Time set to in ~mailman/Mailman/mm_cfg.py (or
> > Defaults.py)? The default of 1 normally works well.
> >   QRUNNER_SLEEP_TIME = seconds(1)
> Sleep time is set to default--seconds(1).
> > Are you getting any errors in any of your log files when Mailman is
> > crunching on the mails? Once the mails are crunched and processed, do
> > the qrunner processes stay high, or drop down again?
> No errors or warnings that I can see.  It looks like CPU use is pretty
> consistently in the 60%-100% range no matter what is going on.  And none
> of the lists I'm serving get that much traffic--I haven't done an exact
> analysis, but I don't think we're talking about more than a few emails
> per hour.  Most of the lists are a few dozen people, just a couple are a
> few hundred.
> > If I can get enough data points on this problem I'll try to write up an
> > FAQ to cover it and the various places to explore.
> Let me know what else I can try to track down the problem.
> > Jon Carnes

More information about the Mailman-Users mailing list