Multiple interpreters retaining huge amounts of memory

Bronner, Gregory gregory.bronner at lehman.com
Fri Feb 1 19:31:13 EST 2008


I have an application that simultaneously extends and embeds the python
interpreter. 

It is threaded, but all python calls are performed in one thread.
Several interpreters are running simultaneously -- the application
receives an event, activates a particular interpreter, and calls some
python code.

An interpreter's life cycle is to start, load a bunch of extension
modules, run intermittently for 30 -40 minutes, and end.

At some point, the application calls Py_EndInterpreter on each
interpreter.

My memory allocation goes up by about 1MB per interpreter, of which I
know that 2k (swig types) are really leaked. gc.garbage doesn't have any
cycles.


Is there some way to track references per interpreter, or to get the
memory allocator to set up seperate arenas per interpreter so that it
can remove all allocated memory when the interpreter exits?

Thanks



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

This message is intended only for the personal and confidential use of the designated recipient(s) named above.  If you are not the intended recipient of this message you are hereby notified that any review, dissemination, distribution or copying of this message is strictly prohibited.  This communication is for information purposes only and should not be regarded as an offer to sell or as a solicitation of an offer to buy any financial product, an official confirmation of any transaction, or as an official statement of Lehman Brothers.  Email transmission cannot be guaranteed to be secure or error-free.  Therefore, we do not represent that this information is complete or accurate and it should not be relied upon as such.  All information is subject to change without notice.

--------
IRS Circular 230 Disclosure:
Please be advised that any discussion of U.S. tax matters contained within this communication (including any attachments) is not intended or written to be used and cannot be used for the purpose of (i) avoiding U.S. tax related penalties or (ii) promoting, marketing or recommending to another party any transaction or matter addressed herein.





More information about the Python-list mailing list