मैं पहली बार नेटबीन में प्रोफाइलर की जांच कर रहा हूं, और मैंने आज सुबह देखा था कि मॉनीटर प्रोफाइलर के माध्यम से दिखाए गए 1700 से अधिक जीवित पीढ़ी थीं, लेकिन एक स्थिर ढेर आकार था। कुछ पढ़ने में मुझे this article मिला जो लीक को उजागर करने के लिए नेटबीन प्रोफाइलर का उपयोग करने पर चर्चा करता है।char [] इतनी पीढ़ी क्यों जीवित है, और मुझे चिंतित होना चाहिए?
तो, लेखों के सलाह के बाद मैंने एक मेमोरी प्रोफाइलर शुरू किया। परिणामों को देखते हुए मैंने पाया कि चार [] जीवित पीढ़ियों के लिए char [] खाते हैं। वर्तमान में इस पोस्ट के रूप में, char [] 22 पीढ़ियों और गिनती पर है।
अब कुछ posts (comment by OldCurmudgeon near the bottom) इंगित करते हैं कि यदि मेरा ढेर स्थिर है तो कोई रिसाव नहीं है, yet others कहता है कि यदि पीढ़ी बढ़ती रहती है तो वहां होता है। तो मैं थोड़ा उलझन में हूं जो सही है।
तो, मेरे सवाल यह है:
निम्नलिखित स्क्रीन शॉट्स के आधार पर मैं संभावित मेमोरी लीक आगे की जांच करना चाहिए?
मेमोरी (ढेर)
मेमोरी (जीसी)
लाइव आवंटित वस्तुओं
दिलचस्प, क्या आपके पास प्रोफाइलिंग पढ़ने के लिए कोई अनुशंसित संसाधन है? –
मैं नहीं कह सकता कि मैं किसी से भी आया हूं।मैं आपके वाणिज्यिक रूप से एक व्यावसायिक प्रोफाइलर का मूल्यांकन संस्करण प्राप्त करने की अनुशंसा करता हूं ताकि यह देखने के लिए कि यह किस अंतर में है। जैसे यह ढेर का उपयोग करने के लिए ढेर का उपयोग नहीं करता है, इसलिए यह ढेर पर "शोर" बनाता है। –
मैं सरल प्रोग्रामों को प्रोफाइलिंग का सुझाव दूंगा जहां आप यह देखने के लिए कर रहे हैं कि यह सीपीयू और मेमोरी प्रोफाइलिंग के लिए कैसा दिखता है। इससे आपको यह समझने में मदद मिल सकती है कि कौन से जटिल अनुप्रयोग कर रहे हैं (और जानें कि क्या अनदेखा करना है, जो काफी हद तक;) –