PermGen दुकान वर्ग परिभाषा और प्रशिक्षु स्ट्रिंग पूल करने के लिए प्रयोग किया जाता है। आपका कोड इसे भर सकता है (यदि यह अनिवार्य रूप से इंटर्न को कॉल करता है), लेकिन अधिक संभावना है कि डिफ़ॉल्ट आपके एप्लिकेशन के लिए अंडरसाइज़ किया गया हो।
ऐसा इसलिए है क्योंकि हर बार जब आप एक युद्ध तैनात करते हैं तो टॉमकैट नई कक्षाएं लोड करेगा - या, यदि आप एक विकास वातावरण में काम कर रहे हैं, हर बार जब आप एक जेएसपी संपादित करते हैं। अंततः उन्हें साफ किया जाना चाहिए, लेकिन एक सक्रिय विकास वातावरण में आप अवधि हो सकते हैं जहां पुराने और नए दोनों उदाहरण लोड होते हैं। या, यदि आप एक उत्पादन वातावरण में हैं और एक बड़ा वेब ऐप है, तो आपको बस अधिक जगह की आवश्यकता हो सकती है।
permgen आकार निर्धारित करने के लिए, -XX:MaxPermSize=SIZE
निम्न लिंक का उपयोग सहायक हो सकता है: tuning GC (यह 1.5 संस्करण है), GC FAQ (1.4.2 संस्करण), Hotspot VM options (मेरा मानना है कि यह 1.6 है)
इस समस्या को एक [यहाँ वर्णित] (http://stackoverflow.com/questions/1124131/what-can-be-done से किसी भी अलग है -साथ-permgen-बाहर के अंतरिक्ष अपवाद-इन-बिल्ला वसंत-हाइबरनेट)? –
मैं [इस लेख] पढ़ने की सलाह देते हैं (http: // plumbr।eu/blog/what-is-a-permgen-leak) (मेरे द्वारा लिखित), बेहतर ढंग से समझने के लिए कि ये त्रुटियां क्यों हो सकती हैं। और इसमें उन्हें हल करने के लिए कुछ सुझाव भी शामिल हैं। – Nikem