[Buildbot-devel] gc.collect in BuilderStatus.prune

Dustin J. Mitchell dustin at v.igoro.us
Sat Jun 18 14:28:02 UTC 2011


On Sat, Jun 18, 2011 at 3:45 AM, Ben Clifford <benc at hawaga.org.uk> wrote:
>>  - massive memory consumption that grows by big leaps many hours or
>> days after the master starts
>
> ok. do you know if anyone has done space profiling at that point?
>
> On http://trac.buildbot.net/wiki/performance I can see some discussion of
> whats using the space, but there doesn't seem to be anything more formal.

Catlee's done some good analysis of correlating memory usage to object
counts, and found that, in our case at least, the best correlation is
with thread count - on the order of 1GB/thread.  We're doing two
things in threads (sending messages via carrot, and emailing large
logfiles), in addition to the usual main loop thread pool and DB
thread pool, so it's not yet clear which of those are to blame.

I'd be interested to hear of other useful tools - we've tried a few,
but had the best success with either printing things into twistd.log
periodically, or doing analysis by hand via manhole (and using
asizeof).

At any rate, I'll get that gc.collect() out of there in master (ergo
appearing in 0.8.5).  I don't see any harm that can come of it.

Dustin




More information about the devel mailing list