का उपयोग कर मेमोरी लीक कैसे ढूंढें मुझे संदेह है कि हमारे सक्रिय एमक्यू कनेक्शन पुल में हमारे पास एक बड़ी मेमोरी लीक है - हम सामान्य मेमोरी रिसाव पैटर्न देख रहे हैं (ऐप लोड ठीक है, धीमा हो जाता है अगर यह लंबे समय तक चलता है या फिर से शुरू होता है समय की छोटी अवधि में बार-बार)। मैंने जावा मेमोरी लीक खोजने के लिए आधुनिक सर्वोत्तम प्रथाओं को देखा और बहुत सारे डेवलपर्स नए (एर) jvisualvm
के बदले जाट/जेएमएपी जैसे पारंपरिक टूल्स को छोड़ रहे हैं।visualvm
इस टूल को लॉन्च करने पर (और अपने ट्यूटोरियल पर कुछ घंटे पढ़ने के लिए) मैं सीपीयू और मेमोरी दोनों के लिए प्रोफाइलर स्नैपशॉट लेने में सक्षम हूं।
मैं इस बिंदु पर फंस गया हूं - मैं रिसाव की पहचान करने के लिए इन स्नैपशॉट का विश्लेषण कैसे करूं? वहां स्नैपशॉट्स का उत्पादन करने के लिए jvisualvm का उपयोग करने के तरीके के बारे में बहुत सारे दस्तावेज हैं, लेकिन वास्तव में उन्हें समझने के तरीके के बारे में बहुत कम दस्तावेज़ीकरण।
अग्रिम धन्यवाद।
आप [FindBugs] चलाने का भी प्रयास है (http स्रोत पर // //indbugs.sourceforge.net)? मुझे लगता है कि कोड पहचानने में बहुत प्रभावी है जो मेमोरी लीक का कारण बन सकता है। – Jivings
सुझाव के लिए धन्यवाद - लेकिन दो चीजें: (1) मुझे बार-बार कहा गया है कि FindBugs NullPointerExceptions के लिए अच्छा है लेकिन स्मृति रिसाव नहीं है, और, सबसे महत्वपूर्ण बात यह है कि, (2) मैं वास्तव में jvisualvm से परिचित होना चाहता हूं, इसलिए जब तक यह स्पष्ट रूप से * इस नौकरी के लिए सही उपकरण नहीं है, मुझे यह देखने में दिलचस्पी है कि इसका उपयोग नैदानिक उपकरण के रूप में कैसे किया जाता है। हालांकि अच्छे सुझाव के लिए फिर से धन्यवाद! – IAmYourFaja
एक छोटी सी चीज: टूल्स/प्लगइन्स/उपलब्ध प्लगइन्स - विजुअल जीसी स्थापित करें - प्लगइन आपकी ढेर मेमोरी और जीसी स्थिति का बेहतर ग्राफ दिखाता है। – coolcfan