मैं VisualVM
का उपयोग कर अपने जावा एप्लिकेशन (JDK 1.7
में लिखा गया) की निगरानी कर रहा हूं। निम्नलिखित ग्राफ है जो इस एप्लिकेशन के दौरान चलने वाली अवधि के लिए हीप मेमोरी उपयोग दिखाता है।विजुअलVM: आदर्श हीप मेमोरी उपयोग ग्राफ
इस ग्राफ को देखते हुए लोगों को यह में spikes के एक बहुत देखते हैं कि देखते हैं। ये स्पाइक्स आवेदन द्वारा वस्तुओं के निर्माण का संकेत देते हैं। एक बार जब एप्लिकेशन उनके साथ किया जाता है तो यह उन्हें जीसी (जिसे इस मामले में निहित रूप से बुलाया जाता है) का उपयोग करके नष्ट कर देता है।
इसके अलावा, यहां स्मृति प्रोफाइलर का एक स्क्रीनशॉट जब आवेदन अभी भी
चल रहा है मेरे लिए ऊपर और नीचे ग्राफ की प्रकृति जावा वस्तुओं के कुशल उपयोग इंगित करता है। क्या यह अनुमान सही है?
ढेर उपयोग ग्राफ की आदर्श प्रकृति क्या है जिसका लक्ष्य रखना चाहिए?
क्या कोई अन्य तरीका है कि मैं अपने आवेदन द्वारा ढेर स्मृति उपयोग में सुधार कर सकता हूं?
सही शो कार्यक्रम के लिए कई स्पाइक्स समय के साथ अधिक अल्पकालिक वस्तुओं का उत्पादन करता है। संभवतः, इसे अनुकूलित किया जा सकता है। –
आपकी मेमोरी उपयोग पूरी तरह से ठीक दिखती है –
@VictorSorokin JVM जीसी बहुत कम अल्पकालिक वस्तुओं को बहुत अच्छी तरह से संभालती है। यह कोई मुद्दा नहीं है। – pickypg