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