से पाइथन में सभी उपलब्ध टपल्स प्रिंट करें मुझे एहसास हुआ कि एक पायथन लिपि में मेमोरी लीक है। जो पहले 25 एमबी पहले कब्जा कर लिया था, और 15 दिनों के बाद यह 500 एमबी से अधिक है।एक डिबगर
मैं कई अलग अलग तरीकों का पालन किया है, और के रूप में एक अजगर नौसिखिया हूँ समस्या के मूल में प्राप्त करने में सक्षम नहीं ...
अंत में, मैं इस निम्नलिखित
objgraph.show_most_common_types(limit=20)
tuple 37674
function 9156
dict 3935
list 1646
wrapper_descriptor 1468
weakref 888
builtin_function_or_method 874
classobj 684
method_descriptor 551
type 533
instance 483
Kind 470
getset_descriptor 404
ImmNodeSet 362
module 342
IdentitySetMulti 333
PartRow 331
member_descriptor 264
cell 185
FontEntry 170
मैं एक ब्रेक सेट मिला बिंदु, और प्रत्येक पुनरावृत्ति के बाद यह हो रहा है ...
objgraph.show_growth()
tuple 37674 +10
आगे बढ़ने का सबसे अच्छा तरीका क्या है? क्या इस 10 टपल हो जाता है जोड़ा हर मुझे कुछ सुराग दे देंगे -
(Pdb) c
(Pdb) objgraph.show_growth()
tuple 37684 +10
मैं सभी tuples, और पार की जाँच बाहर मुद्रण अंदाज़ा लगाओ? कृपया मुझे बताएं कि यह कैसे करें ..
या इस मेमोरी रिसाव को खोजने का कोई अन्य तरीका है। मैं Python 2.4.3 का उपयोग कर रहा हूं, और कई अन्य उत्पाद निर्भरताओं के कारण - दुर्भाग्य से मैं अपग्रेड नहीं कर सकता/चाहिए।
यह एक बहुत बड़ी लिपि (3 मॉड्यूल से अधिक) है, और पाइथन के लिए नया है इसलिए पूरी स्क्रिप्ट के माध्यम से भी पता लगाने में असमर्थ है। मैं अभी भी सभी tuples मुद्रित करने के लिए रास्ता तलाश रहा हूं या कम से कम प्रिंटिंग केवल वैश्विक tuples ... लेकिन अभी तक कोई भाग्य नहीं है! – user379997