On 8/24/2011 7:59 PM, Ivan Fetch wrote: > > I've let things run, and although there is still some growth, the box has not > hit 97% (of 2Gb) memory usage like it did once before.
But the question is when the box is at 97% memory utilization, how much of that memory is actually needed vs. inactive pages that are memory resident simply because no other process actually needs the memory. > # ps -Umailman -o pmem -o size -o args |sort -n > %MEM SZ COMMAND > 0.2 7388 /usr/bin/python /mail/mailman/mailman/bin/mailmanctl start > 0.4 7408 /usr/bin/python /mail/mailman/mailman/bin/qrunner > --runner=NewsRunner:0:1 -s > 0.8 12740 /usr/bin/python /mail/mailman/mailman/bin/qrunner > --runner=ArchRunner:0:1 -s > 1.3 23032 /usr/bin/python /mail/mailman/mailman/bin/qrunner > --runner=CommandRunner:0:1 -s > 1.3 24872 /usr/bin/python /mail/mailman/mailman/bin/qrunner > --runner=RetryRunner:0:1 -s > 2.4 48280 /usr/bin/python /mail/mailman/mailman/bin/qrunner > --runner=IncomingRunner:0:1 -s > 2.6 50060 /usr/bin/python /mail/mailman/mailman/bin/qrunner > --runner=OutgoingRunner:0:4 -s > 3.4 67028 /usr/bin/python /mail/mailman/mailman/bin/qrunner > --runner=OutgoingRunner:1:4 -s > 3.6 70140 /usr/bin/python /mail/mailman/mailman/bin/qrunner > --runner=BounceRunner:0:1 -s > 3.8 84208 /usr/bin/python /mail/mailman/mailman/bin/qrunner > --runner=VirginRunner:0:1 -s > 6.6 133052 /usr/bin/python /mail/mailman/mailman/bin/qrunner > --runner=OutgoingRunner:2:4 -s > 10.1 205020 /usr/bin/python /mail/mailman/mailman/bin/qrunner > --runner=OutgoingRunner:3:4 -s > > > You mentioned large messages causing similar behavior, but also impacting the > incomingrunner. How would I tell whether that is the case? A large message is queued for Mailman and the queue entry is at least as large as the raw message. When the message is processed, each runner that handles it winds up with the entire message in memory and thus must grow large enough to hold the message. What I was saying is that in a situation like that above, it would not be the case that slices 2 or 3 of OutgoingRunner grew to 133 and 205 MB respectively because of large messages because those messages would have passed through IncomingRunner and it would have grown comparably large. >> Also, you can add up all the sizes of the lists/*/config.pck files to >> get a very rough idea of how much things may grow. > > This came out to 32Mb, for 1360 lists. The implication of this is that if you leave things long enough, eventually all the runners will grow to > 32 MB. Four have already, one is significantly larger which says that I don't really know how to calculate/explain all the memory usage, but the aggregate size of all the list objects is definitely a lower bound on how big the qrunners will grow. If you find that this is a real problem, you can try the patch at <http://mail.python.org/pipermail/mailman-users/attachments/20100312/24957034/attachment.txt> which removes the qrunner list cache. But, I don't think this is actually necessary because even though they are large, most of the memory will be swapped out for long periods if it is needed by other processes. -- Mark Sapiro <m...@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan ------------------------------------------------------ Mailman-Users mailing list Mailman-Users@python.org http://mail.python.org/mailman/listinfo/mailman-users Mailman FAQ: http://wiki.list.org/x/AgA3 Security Policy: http://wiki.list.org/x/QIA9 Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-users/archive%40jab.org