मेरी जेनकिन्स नौकरियां मेमोरी से बाहर चल रही हैं, जिससे बिल्ड लॉग में java.lang.OutOfMemoryError
संदेश दिए गए हैं। लेकिन मैंने जेनकिन्स को स्थापित करने के लिए उबंटू पैकेज मैनेजर, aptitude
, या apt-get
का उपयोग किया, और मुझे नहीं पता कि जेनकींस को आवंटित ढेर स्थान की मात्रा को बदलने के लिए कहां देखना है।जब मैं उबंटू पर डेमॉन के रूप में दौड़ रहा हूं तो मैं जेनकींस को और ढेर जगह कैसे दे सकता हूं?
उत्तर
वहाँ OutOfMemoryError
संदेशों आपके सामने आ सकने के दो प्रकार के हैं, जबकि एक जेनकींस काम चलता है:
java.lang.OutOfMemoryError: Heap space
- इसका मतलब यह है कि आप जेनकींस के लिए आवंटित ढेर अंतरिक्ष की राशि में वृद्धि करने की आवश्यकता है जब डेमॉन शुरू होता है ।java.lang.OutOfMemoryError: PermGen space
- इसका मतलब है कि आपको जावा ऑब्जेक्ट मेटाडेटा को संग्रहीत करने के लिए आवंटित पीढ़ी की जगह बढ़ाने की आवश्यकता है। बढ़ रहा है-Xmx
पैरामीटर का मान इस त्रुटि पर कोई प्रभाव नहीं पड़ेगा।
Ubuntu 12.04 LTS पर, /etc/default/jenkins
की लाइन दस पर JAVA_ARGS
सेटिंग uncomment:
- अधिक जावा ढेर अंतरिक्ष जोड़ने के लिए,
-Xmx
जावा पैरामीटर के मूल्य में वृद्धि। यह मेमोरी आवंटन पूल (कचरा एकत्रित ढेर) का अधिकतम आकार सेट करता है। - अधिक PermGen अंतरिक्ष जोड़ने के लिए, पैरामीटर जोड़ने
XX:MaxPermSize=512m
(कुछ और के साथ512
की जगह यदि आप और अधिक चाहते हैं। स्थायी पीढ़ी ढेर उपयोगकर्ता कक्षाओं के बारे में मेटा जानकारी रखती है।
उदाहरण के लिए, इस उद्धरण डिफ़ॉल्ट से है /etc/default/jenkins
के बाद एक ताजा जेनकींस की स्थापित:
# arguments to pass to java
JAVA_ARGS="-Xmx1048m"
01:
# arguments to pass to java
#JAVA_ARGS="-Xmx256m"
यह आपको ढेर अंतरिक्ष सेट करते हैं तो 1 जीबी होने के लिए यह इस तरह दिखाई देंगे है
ढेर आकार को बहुत बड़ा सेट न करने के लिए सावधान रहें, क्योंकि जो कुछ भी आप आवंटित करते हैं वह ऑपरेटिंग सिस्टम और अन्य प्रोग्रामों के लिए उपलब्ध स्मृति की मात्रा को कम करता है, जो अत्यधिक पेजिंग (स्मृति और रैप और स्वैप डिस्क के बीच आगे और पीछे बदल सकता है, जो आपके सिस्टम को धीमा कर देगा)।
आप भी MaxPermSpace
सेट हैं, तो आप) मानकों के बीच एक रिक्ति जोड़ने की जरूरत:
# arguments to pass to java
JAVA_ARGS="-Xmx1048m -XX:MaxPermSize=512m"
परिवर्तन करने के बाद, जेनकींस जेनकींस वेब इंटरफेस से शान से पुनः आरंभ, या आदेश से एक तत्काल पुनः आरंभ करने के लिए मजबूर sudo /etc/init.d/jenkins restart
के साथ लाइन करें।
मुझे निम्न साइट जावा अधिकतम और स्थायी पीढ़ी ढेर आकार को समझने के लिए उपयोगी साइट मिली: http://www.freshblurbs.com/blog/2005/05/19/explaining-java-lang-outofmemoryerror-permgen-space.html।
CentOS के लिए, निर्देशिका जेनकिन्स.एक्सएमएल डिफ़ॉल्ट रूप से स्थित है/जेनकिन्स-1.579-1 के लिए/etc/sysconfig/निर्देशिका है।1
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Xmx -XX:MaxPermSize="
चीयर्स, मैं इस – bmaher
को खोजने के लिए पागल हो रहा था, मेरे ** ओपनएसयूएसई लीप ** 42.1 (x86_64) पर संस्करण 2.70 के लिए जेनकींस कॉन्फ़िगरेशन '/ etc/sysconfig/jenkins' – user1053510
में भी RedHat RHEL 7.4, जेनकींस के लिए स्थित है 2.98 –
आप उबंटू सर्वर का उपयोग कर रहे हैं, तो पहले Monitoring प्लगइन स्थापित कितनी स्मृति जेनकींस उपयोग कर रहा है देखने के लिए। उदाहरण के लिए, इस मैं इसे स्थापित करने के बाद क्या देखा है:
फिर, आदेश free -m
के साथ, मैं पता लगा सर्वर की स्मृति आकार था क्या। मेरे मामले में, 16 जीबी। उस जानकारी के साथ, मैं /etc/default/jenkins
खोला और बदल दिया है:
JAVA_ARGS="-Djava.awt.headless=true"
JAVA_ARGS="-Xmx8384m -Djava.awt.headless=true"
कहाँ 8384 8Gb है। तब मैं आदेश sudo service jenkins restart
साथ जेनकींस को पुनः आरंभ और फिर, नौकरी कि स्मृति मुद्दों हो रही थी ट्रिगर करने के बाद, चीजों को ज्यादा बेहतर देखा और काम इस और बाद में रन पूरा कर सकता है:
- 1. मैं पाइथन लिपि का पथ कैसे प्राप्त कर रहा हूं जिसमें मैं दौड़ रहा हूं?
- 2. जब मैं जानता हूं कि मैं इसे गलत समझूंगा तो मैं कुछ कैसे बना सकता हूं?
- 3. मैं इंटेलिज कंपाइलर को और ढेर स्पेस कैसे दे सकता हूं?
- 4. जब मैं एकता चलाने वाली प्रणाली पर हूं तो मैं कैसे पता लगा सकता हूं?
- 5. जब मैं किसी तत्व पर क्लिक करता हूं तो मैं जावास्क्रिप्ट को कैसे चलाता हूं?
- 6. मैं जेनकींस के आउटपुट को कैसे अनुकूलित कर सकता हूं?
- 7. मैं lstlisting के हिस्सों पर जोर कैसे दे सकता हूं?
- 8. उबंटू: डेमॉन
- 9. मैं जेनकींस को "पीआईपी इंस्टॉल" कैसे चला सकता हूं?
- 10. मैं डब्ल्यूसीएफ की जांच कैसे कर सकता हूं, जीईटी पर 400 खराब अनुरोध दे रहा हूं?
- 11. उबंटू में मैं सार्वजनिक HTML फ़ोल्डर कैसे बना सकता हूं?
- 12. जब मैं ऐपइंजिन पर आईड्स से बाहर निकलता हूं तो मैं क्या उम्मीद कर सकता हूं?
- 13. जब मैं आयाम बदलता हूं तो मैं सबव्यू के रीड्रॉइंग (ड्राआरक्ट) को कैसे फोर्स करता हूं?
- 14. मैं एक सी ++ प्रोग्राम एक आइकन कैसे दे सकता हूं?
- 15. मैं imagecolorallocate को रंग कैसे दे सकता हूं?
- 16. जब मैं केवल चरित्र ऑफ़सेट जानता हूं तो मैं एक रेंज ऑब्जेक्ट कैसे बना सकता हूं?
- 17. मैं उबंटू के तहत जीवीआईएम कैसे संकलित कर सकता हूं?
- 18. जब मैं फोकस खो देता हूं तो मैं विम ऑटोसेव फाइल कैसे बना सकता हूं?
- 19. मैं गिट पर धक्का नहीं दे पा रहा हूं?
- 20. जब मैं उपversण करने के लिए प्रतिबद्ध हूं तो क्या मैं एक स्क्रिप्ट चला सकता हूं?
- 21. जब मैं पाइथन थ्रेड को डेमॉन
- 22. मैं RichTextBox को एक फ्लैट लुक कैसे दे सकता हूं?
- 23. जब मैं विजुअल स्टूडियो थीम रंग बदलता हूं तो मैं कैसे पता लगा सकता हूं?
- 24. जब मैं डिबगिंग नहीं कर रहा हूं तो मैं console.log को कैसे अक्षम करूं?
- 25. मैं एक जीयूआई कैसे बना सकता हूं और कोको घटनाओं को प्रोग्रामेटिक रूप से प्रतिक्रिया कैसे दे सकता हूं?
- 26. जब मैं प्रतिबिंब के माध्यम से ऑब्जेक्ट बनाता हूं तो मैं जावा में विधियों को ओवरराइड कैसे कर सकता हूं?
- 27. मैं एंड्रॉइड में स्टाइल बोल्ड कैसे दे सकता हूं?
- 28. मैं जावा में अपने ढेर में क्या देख सकता हूं?
- 29. मैं जेनकींस से कैस्परजेस जावास्क्रिप्ट परीक्षण कैसे चला सकता हूं?
- 30. जब मैं जेपीए का उपयोग कर रहा हूं तो मैं डेटाबेस विकास कैसे प्रबंधित करूं?
मुझे लगता है कि आप सेकंड में भूल गया डैश, तो यह होना चाहिए: JAVA_ARGS = "- Xmx1048m -XX: MaxPermSize = 512m" –
धन्यवाद! मैंने लापता डैश जोड़ा है। –
एनपी, उत्तर के लिए धन्यवाद। –