2010-11-19 15 views
11

मान लिया जाये कि मैं निम्नलिखित मानकों के साथ अपने जावा वी एम शुरू:क्या कुल वीएम मेमोरी का जावा परमजेन अंतरिक्ष हिस्सा है?

-Xms1024m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m 

512 एम PermGen अंतरिक्ष करो 1024M स्मृति को जोड़ सकते हैं या वे इसे की हिस्सा हैं? या दूसरे शब्दों में, क्या मेरे पास 1536 मीटर या 1024 मीटर की कुल मेमोरी खपत है? बाद के मामले में, क्या इसका मतलब यह है कि एप्लिकेशन के पास पर्मजेन स्पेस के अलावा अन्य उद्देश्यों के लिए केवल 512 मीटर है?

अगर यह प्रश्न PermGen अंतरिक्ष को समझने की कमी का खुलासा करता है तो कृपया मुझे बताएं। ;-)

+0

आप इसे क्यों नहीं देखते हैं? शीर्ष/कार्य प्रबंधक में तुरंत दिखाई देना चाहिए। –

+0

संभावित डुप्लिकेट [क्या permgen -Xmx में शामिल है?] (Http://stackoverflow.com/questions/4084280/is-permgen-included-in-xmx) –

उत्तर

15

-Xms और -Xmx पैरामीटर, ढेर स्मृति का उल्लेख जबकि PermGen अंतरिक्ष एक अलग स्मृति पूल है।

दूसरे शब्दों में, आपके जावा एप्लिकेशन के लिए उपलब्ध कुल मेमोरी आकार 1 जीबीबी के बजाय 1.5 जीबीबी होगा, और आपको ढेर-आवंटित वस्तुओं के लिए अंतरिक्ष का पूर्ण गीगाबाइट मिलेगा।

0

सूर्य के जेवीएम में, स्थायी पीढ़ी ढेर का हिस्सा नहीं है। यह कक्षा परिभाषाओं और संबंधित डेटा के साथ-साथ जहां आंतरिक स्ट्रिंग्स रहते हैं, के लिए एक अलग जगह है।

1

मैं Google के माध्यम से इस पृष्ठ पर बस गया। यह निश्चित भ्रम है कि क्या पेर्गन ढेर का हिस्सा है या नहीं: उत्तर है "ढेर छोटे हिस्सों/पीढ़ियों में टूट गया है और ये भाग हैं: युवा पीढ़ी, पुरानी या कार्यरत पीढ़ी, और स्थायी पीढ़ी"। यही वह है जो ओरेकल कम से कम कहता है। वेब डोमेन पर दर्शकों की तुलना में उत्प्रेरक कहता है कि यह जाने के लिए और अधिक समझदारी होती है।

एक छोटे नोट PermGen पर: स्थायी पीढ़ी JVM द्वारा अपेक्षित वर्गों और तरीकों आवेदन में इस्तेमाल किया वर्णन करने के लिए मेटाडाटा शामिल हैं। आवेदन द्वारा उपयोग की जाने वाली कक्षाओं के आधार पर स्थायी पीढ़ी को रनटाइम पर जेवीएम द्वारा पॉप्युलेट किया जाता है। इसके अलावा, जावा एसई लाइब्रेरी कक्षाएं और विधियां यहां संग्रहीत की जा सकती हैं।

संबंधित मुद्दे