Troubleshooting garbage collection issues

Hendrik van Rooyen mail at microcorp.co.za
Sun Nov 18 01:19:50 EST 2007


<dave..mail.com>  (Dave) wrote:

8<--------- description of horrible problem --------------

Faced with this, I would:

1 - identify the modules that import gc to separate the
     sheep from the goats.

2 - do my best to change gc importing goats back to sheep.

3 - amongst the remaining goats, identify the ones that also use
     threads, (supergoats) and take a long hard look at them.

4 - hope I get lucky.

5 - If no luck, I would change the most complex of the
     supergoats to use more processes and messaging,
     to make sheep out of a supergoat, or failing that,
     a goat and some sheep.

6 - Repeat from 2 until luck strikes.

Now the trouble with a simple minded algorithm such as 
the above is that a sheep could be at the bottom of the
trouble if it uses threads.  So a module is only a lamb if
it uses neither threads nor makes calls into gc...

HTH 

- Hendrik






More information about the Python-list mailing list