2016-05-19 14 views
9

पर चल रहा है मैंने हाल ही में जेनकींस 1.6 से 2.5 तक अपग्रेड किया है। मैंने ऐसा करने के बाद, मैंने बहुत अधिक CPU उपयोग देखा, कभी-कभी 300% से अधिक (केवल 4 कोर होते हैं, इसलिए मुझे नहीं लगता कि यह 400% से अधिक हो सकता है)। मुझे यकीन है कि जहां इस, but here's a thread dump डिबगिंग शुरू करने के लिए नहीं कर रहा हूँ और शीर्ष/htop से कुछ स्क्रीनशॉटजेनकिंस बहुत उच्च CPU उपयोग

htop htop

शीर्ष: top

+0

क्या आपने सभी प्लगइन अपग्रेड किए थे? –

+3

[visualvm] के साथ प्रोफाइलिंग (https://visualvm.java.net/profiler.html) कुछ जवाब दे सकता है – vlp

उत्तर

8

जैसा कि यह निकला, मेरी समस्या यह थी कि कई नौकरियों में हजारों पुराने निर्माण हुए थे। यह जेनकींस 1.6 में ठीक था लेकिन यह 2.5 में एक समस्या है (मुझे लगता है कि जेनकिंस जब आप नौकरी अवलोकन पृष्ठ देखते हैं तो सभी बिल्डों को स्मृति में लोड करने का प्रयास करता है)। इसे ठीक करने के लिए, मैंने समस्या नौकरियों using this strategy और फिर पुनः लोड किए गए जेनकींस से पुराने पुराने निर्माण को हटा दिया। एक जादू की तरह काम किया!

मैंने इसे फिर से होने से रोकने के लिए, केवल 50 सबसे हालिया बिल्डों को रखने के लिए "पुरानी बिल्डों को छोड़ दें" प्लगइन भी सेट किया है।

1

2,5 एक विकास रिलीज हो रहा है, जबकि 1.6 उनका दीर्घकालिक समर्थन संस्करण है। इस प्रकार यह तार्किक लगता है कि खून बहने वाले किनारे संस्करण का उपयोग करते समय आपको कुछ प्रतिगमन की उम्मीद करनी चाहिए। इस सवाल पर बकाया सबूत है कि अन्य उपयोगकर्ता भी इसका अनुभव कर रहे हैं। समाधान जेनकींस बग ट्रैकर पर एक बग की रिपोर्ट करना है। आप अस्थायी रूप से अब के लिए ज्ञात अच्छे संस्करण में डाउनग्रेड कर सकते हैं।

3

जब भी कोई अनुरोध आता है, जेनकिंस अनुरोध करने के लिए कुछ धागे पैदा करेंगे। जेनकींस को अपग्रेड करने के बाद, उस समय उसने उच्च थ्रॉटल पर आक्रमण किया होगा। Plz जेनकींस सर्वर CPU और स्मृति के उपयोग की जांच करते समय निम्न परिदृश्यों:

  • जेनकींस निष्क्रिय है और कोई भी एप्लिकेशन सर्वर पर चल रहे हैं।
  • एक निर्माण अनुसूचित और सर्वर पर कोई अन्य ऐप्स चल रहे हैं।

और व्यवहार जो आप बाहर मदद कर सकता है निर्धारित करने के लिए जेनकींस या अन्य एप्लिकेशन के साथ समानांतर में चल जेनकींस वास्तव में मुसीबत बना रहे हैं की तुलना करें।

जैसा कि @vlp ने कहा था, जेडिस विन्यास के साथ जेविस्कुअल के माध्यम से जेनिसुअलवीएम के माध्यम से जेनकिस्क एप्लिकेशन की निगरानी करने का प्रयास करें। JstadualVM को Jstad के साथ कॉन्फ़िगर करने के लिए यह link देखें।

+0

इस उत्तर के साथ अतिरिक्त जानकारी, यदि आप शेड्यूल कर रहे हैं और सर्वर पर नौकरियां चला रहे हैं, तो इससे सिस्टम पर कुछ लोड हो सकता है । फिर आपको उन नौकरियों से जेनकींस सर्वर को ऑफ़लोड करना होगा और इसे गुलाम नोड्स पर ले जाना होगा और सर्वर के लिए नोड कॉन्फ़िगरेशन में निष्पादक मान को 0 के रूप में रखना होगा। –

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