Vous devriez surtout jeter un coup d'œil à vos données globales ou statiques (données à long terme).
Lorsque ces données se développent sans restriction, vous pouvez également obtenir des problèmes en Python.
Le ramasseur de déchets ne peut collecter que les données qui ne sont plus référencées. Mais vos données statiques peuvent accrocher des éléments de données qui doivent être libérés.
Les cycles de mémoire peuvent constituer un autre problème, mais en théorie, le collecteur d'ordures devrait trouver et éliminer les cycles - du moins tant qu'ils ne sont pas accrochés à des données de longue durée.
Quels types de données sur la longévité sont particulièrement problématiques ? Regardez bien les listes et les dictionnaires : ils peuvent croître sans aucune limite. Dans les dictionnaires, il se peut même que vous ne voyiez pas venir le problème, car lorsque vous accédez aux dictionnaires, le nombre de clés dans le dictionnaire peut ne pas être très visible pour vous...
5 votes
J'ai trouvé cette recette utile.
0 votes
Il semble imprimer beaucoup trop de données pour être utile.
1 votes
@Casebash : Si cette fonction imprime quelque chose, vous vous y prenez mal. Elle liste les objets avec
__del__
qui ne sont plus référencés, sauf pour leur cycle. Le cycle ne peut pas être rompu, en raison de problèmes liés à la méthode__del__
. Réparez-la !0 votes
Duplicata possible de Comment puis-je profiler l'utilisation de la mémoire en Python ?