2010-07-26 22 views
9

मैं जावा 6 18 वीएम पर कचरा संग्रह के आसपास विभिन्न विकल्पों में देख रहा हूं और कुछ पॉइंटर्स चाहूंगा।PermGen समस्याओं को हल करने के लिए विभिन्न विकल्प

हम जेबॉस पर अपना आवेदन चलाते हैं, और कभी-कभी पुनर्वितरण के दौरान कुख्यात PermGen त्रुटियां होती हैं। इस समस्या को हल करने या कम करने के सर्वोत्तम तरीके के बारे में इंटरनेट पर बहुत सारी विरोधाभासी और अप्रचलित जानकारी है।

what I can see से, निम्नलिखित सही है:

  • वीएम अपने स्वयं के पर विकल्प इस मुद्दे का समाधान नहीं होगा, केवल यह स्थगित।
  • इस समस्या को ठीक करने का एकमात्र विश्वसनीय तरीका कोड सर्वर त्रुटियों को ठीक करना है (या तो संभवतः अनुप्रयोग सर्वर (हमारे कोड या तृतीय-पक्ष पुस्तकालय) में जो कोड सर्वर (अधिक संभावना है) में चल रहा है। पर्मजेन भरना प्रायः एप्लिकेशन क्लासलोडर द्वारा लोड की गई ऑब्जेक्ट्स से संदर्भ सर्वर क्लासलोडर द्वारा लोड की गई वस्तुओं के संदर्भों का परिणाम होता है, इस प्रकार एप्लिकेशन के क्लासलोडर के कचरा संग्रहण को रोकता है।

मैं दो प्रश्न इस से उत्पन्न किया है:

  1. ऊपर सही है?
  2. वीएम विकल्प CMSClassUnloadingEnabled और CMSPermGenSweepingEnabled कहां से आते हैं? मैं CMSClassUnloadingEnabled सुपरसीड्स देख सकता हूं या स्पष्ट रूप से CMSPermGenSweepingEnabled सक्षम करता हूं। क्या उनमें से कोई उपर्युक्त समस्या से मदद करता है?

उत्तर

6

दुर्भाग्य से, उत्तर दिए गए हैं:

  1. हाँ
  2. उन वी एम विकल्प केवल समस्या को स्थगित होगा।

मूल समस्या यह है कि जीसी कचरा नहीं होगा एक दृढ़ पहुंच योग्य वस्तु एकत्रित करेगा। आपको यह पता लगाने की आवश्यकता है कि उन पुराने एप्लिकेशन क्लास लोडर अभी भी एक पुनर्निर्माण के बाद पहुंच योग्य क्यों हैं ... और रिसाव को ठीक करें।

वैकल्पिक रूप से, अपने उत्पादन सर्वर पर गर्म पुनर्निर्माण पर छोड़ दें, या वेब कंटेनर (उदा। जेबॉस) को फिर से शुरू करें।

+0

+1। दरअसल मैं डेवलपर वर्कस्टेशन वातावरण के अलावा सब कुछ करने के लिए ऐसा करता हूं। –

1

लंबे लेकिन अच्छी पढ़ाई: http://victor-jan.blogspot.com/2010/05/classloader-leaks-dreaded.html संक्षेप में, यह हल करने योग्य है। आसान नहीं है, लेकिन हल करने योग्य। उत्पादन सर्वर पर हॉट-तैनाती को अक्षम करने पर

+0

लिंक के लिए धन्यवाद - यही वह आलेख है जिसे मैंने अपनी मूल पोस्ट में लिंक किया था, लेकिन दूसरी साइट पर। – Rich

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