क्या वर्तमान में का उपयोग करने के लिए कोई तरीका है मेरे जावा एप्लिकेशन के भीतर स्थायी पीढ़ी (पर्मोजेन) का आकार? मैं बाहरी प्रोफाइलिंग टूल जैसे VisualVM का उपयोग नहीं कर सकता।जावा एप्लिकेशन के भीतर पर्मजेन का आकार कैसे निर्धारित करें (यानी प्रोग्रामेटिक रूप से)?
पर्मजेन में जावा क्लास की मेमोरी खपत का अनुमान भी बेहतर होगा। क्या यह बाइटकोड फ़ाइल के आकार के लगभग आनुपातिक है?
उत्तर
आप जेएमके के साथ आने वाले मेमोरीएमएक्सबीन का उपयोग कर सकते हैं। लेकिन मुझे नहीं लगता कि एक चल रहे आवेदन के भीतर से permgen उपयोग पर सवाल पूछने का एक तरीका है। डॉक्स MemoryMXBean के बारे में डॉक्स।
पर्मजेन के आकार में आपकी कक्षा फ़ाइलों के आकार से कोई लेना देना नहीं है। सूर्य के अनुसार परमजेन का डिफ़ॉल्ट आकार 64 एमबी है। आप इसे स्पष्ट रूप से सेट कर सकते हैं आप इसे बढ़ाने के लिए चाहते हैं का उपयोग कर:
-XX:PermSize=164m
अपने जावा कमांड लाइन या स्टार्टअप स्क्रिप्ट में
। बाहरी उपकरण पर भरोसा किए बिना यह भी पता चल सकता है कि यह कैसे सेट किया गया है।
संपादित करें:
यह लेख पढ़ें निर्धारित करने के लिए लगभग कितनी PermGen वर्तमान में प्रोग्राम के रूप में किया जा रहा है (यानी कोई बाहरी उपकरण):
http://frankkieviet.blogspot.com/2006/10/how-to-fix-dreaded-permgen-space.html
* अधिकतम * आकार जरूरी करने के लिए कुछ भी नहीं है मुद्रित करने के लिए किसी भी फाइल के आकार के साथ करो। लेकिन स्टीफन वर्तमान (उपयोग किए गए) आकार की तलाश में है, अधिकतम आकार नहीं। –
http://blogs.sun.com/jonthecollector/entry/presenting_the_permanent_generation के अनुसार, उदा। कक्षा विधियों के बाइटकोड पर पर्मजेन के आकार पर प्रभाव पड़ता है! – s106mo
मैंने अधिकतम आकार निर्दिष्ट नहीं किया है। अधिकतम परम आकार के लिए ध्वज MaxPermSize –
आप jmap
आदेश का उपयोग कर सकते हैं:
jmap [विकल्प]
jmap [विकल्प] (एक कोर फाइल करने के लिए कनेक्ट करने के लिए)
(प्रक्रिया चलाने के लिए कनेक्ट करने के लिए) jmap [विकल्प] [server_id @] (रिमोट डीबग सर्वर से कनेक्ट करने के लिए)
-heap:जहां विकल्पों में से एक है जावा ढेर सारांश मुद्रित करने के लिए
-permstat: स्थायी पीढ़ी आँकड़े
आपके उत्तर के लिए धन्यवाद, हालांकि मेरे प्रश्न का निर्णायक बिंदु यह था कि मैं अपने आवेदन के भीतर स्मृति खपत को मापना चाहता था (यानी प्रोग्रामेटिक रूप से) ... तो मेमोरीएमएक्सबीन जाने का सही तरीका है – s106mo
- 1. जावा एप्लिकेशन के भीतर से लाइव वीडियो कैसे प्रेषित करें?
- 2. मैं जावा एप्लिकेशन के भीतर से JVM न्यूनतम ढेर आकार कैसे निर्धारित कर सकता हूं?
- 3. जावा ढेर आकार को प्रोग्रामेटिक रूप से कैसे बढ़ाएं
- 4. प्रोग्रामेटिक रूप से एक आईपैड मोडल व्यू का आकार निर्धारित करें
- 5. एनएसविंडो आकार प्रोग्रामेटिक रूप से सेट करें
- 6. प्रोग्रामेटिक रूप से जेवीएम स्थायी जेनरेशन (पर्मजेन) मेमोरी क्षेत्र
- 7. निर्धारित करें कि सिस्टम विस्तृत बैकअप प्रोग्रामेटिक रूप से
- 8. एंड्रॉइड प्रोग्रामेटिक रूप से लेआउट (यानी एक्सएमएल के बिना)
- 9. विंडोज में प्रोग्राम का उपयोग प्रोग्रामेटिक रूप से निर्धारित करें?
- 10. मैं अपने जावा एप्लिकेशन के भीतर प्रोग्रामेटिक रूप से मेमोरी, थ्रेड और सीपीयू का उपयोग कैसे कर सकता हूं?
- 11. प्रोग्रामेटिक रूप से आकार बदलना NSSplitView
- 12. प्रोग्रामेटिक रूप से निर्धारित निरंतर DEFAULT मान
- 13. java.util.logging गंतव्य प्रोग्रामेटिक रूप से
- 14. सभी और चल रहे एप्लिकेशन आकार, सीपीयू उपयोग प्रोग्रामेटिक रूप से कैसे पुनर्प्राप्त करें?
- 15. ऑब्जेक्ट का आकार निर्धारित करें: स्कैला/एसबीटी
- 16. प्रोग्रामेटिक रूप से निर्धारित करें कि मेरे बॉक्स
- 17. सी #। कंसोल एप्लिकेशन से प्रोग्रामेटिक रूप से टेक्स्ट का चयन कैसे करें और कॉपी करें?
- 18. पर्मजेन स्पेस का महत्व
- 19. सी # से विंडोज डेस्कटॉप प्रोग्रामेटिक रूप से (यानी F5) रीफ्रेश कैसे करें?
- 20. प्रोग्रामेटिक रूप से Emacs फ्रेम आकार
- 21. प्रोग्रामेटिक रूप से निरीक्षण करें। क्लास फाइलें
- 22. एक फेसबुक एप्लिकेशन प्रोग्रामेटिक रूप से
- 23. बटन का मार्जिन प्रोग्रामेटिक रूप से
- 24. JavaCompiler के साथ प्रोग्रामेटिक रूप से जावा संकलित करें?
- 25. प्रोग्रामेटिक रूप से निर्धारित करता है कि आईआईएस एक्सप्रेस
- 26. प्रोग्रामेटिक रूप से वीडियो फ़ाइल प्रारूप निर्धारित करते हैं?
- 27. प्रोग्रामेटिक रूप से .NET
- 28. निर्धारित करें कि ASP.NET एप्लिकेशन स्थानीय रूप से
- 29. प्रोग्रामेटिक रूप से VB.NET
- 30. स्क्रीन के भौतिक आकार (यानी इंच में) कैसे प्राप्त करें?
धन्यवाद! उस जवाब ने मुझे बहुत मदद की। जैसे ही मेरे पास पर्याप्त प्रतिष्ठा है, मैं आपके उत्तर को उपयोगी वोट दूंगा! :) – s106mo