जावा में कोई स्मृति विखंडन नहीं है; जीसी चलाने के दौरान, स्मृति क्षेत्रों को संकुचित किया जाता है।
चूंकि आपको उच्च CPU उपयोग नहीं दिखाई देता है, इसलिए कोई भी जीसी चल रहा है, या तो। तो कुछ और आपकी समस्याओं का कारण होना चाहिए।यहाँ कुछ विचार कर रहे हैं:
तो अपने आवेदन के डेटाबेस एक अलग सर्वर पर है, वहाँ नेटवर्क समस्याओं हो सकता है
आप Windows चलाने के लिए और आप नेटवर्क ड्राइव, ड्राइव मैप किया गया है आपके कंप्यूटर को लॉक कर सकता है (फिर नेटवर्क समस्याएं)। यूनिक्स पर एनएफएस ड्राइव के लिए भी यही सच है। नेटवर्क त्रुटियों के लिए सिस्टम लॉग की जांच करें।
कंप्यूटर डिस्क पर डेटा के बहुत सारे अदला-बदली है? चूंकि सीपीयू का उपयोग कम है, इसलिए समस्या का कारण यह हो सकता है कि ऐप को डिस्क पर बदल दिया गया था और जीसी रन ने इसे वापस रैम में मजबूर कर दिया था। यदि पूरे सर्वर में रैम में पूरे जावा ऐप को रखने के लिए पर्याप्त वास्तविक RAM नहीं है तो इसमें काफी समय लगेगा।
इसके अलावा, अन्य प्रक्रियाएं ऐप को रैम से बाहर कर सकती हैं। असली मेमोरी उपयोग और अपने स्वैप स्पेस उपयोग की जांच करें।
जीसी लॉग के उत्पादन में समझने के लिए, this post मदद कर सकता है।
[संपादित करें] मैं अभी भी चारों ओर "कम सीपीयू" और "जी सी स्टालों" मेरे सिर नहीं मिल सकता है। वे दोनों आम तौर पर एक-दूसरे से विरोधाभास करते हैं। यदि जीसी रुक रहा है, तो आपको 100% सीपीयू उपयोग देखना होगा। अगर सीपीयू निष्क्रिय है, तो कुछ और जीसी को अवरुद्ध कर रहा है। क्या आपके पास ऑब्जेक्ट्स हैं जो finalize()
अधिभारित करते हैं? यदि अंतिम रूप से ब्लॉक होते हैं, तो जीसी हमेशा के लिए ले सकता है।
स्रोत
2009-08-10 07:54:09
क्या आप सुनिश्चित हैं कि यह जीसी है? विशेष रूप से, क्या वीएम प्रक्रिया विराम के दौरान उच्च CPU उपयोग दिखाती है? यदि नहीं, तो मुझे लगता है कि आपके पास दौड़ की स्थिति कहीं है। – Esko
यह दौड़ की स्थिति नहीं है, मुझे यकीन है। प्रोफाइलर में चेक किया गया, और हम लगभग ताले का उपयोग नहीं करते हैं, और व्यवहार अलग-अलग सर्वरों पर समान होता है - बस अलग-अलग अंतराल के समय। और उच्च CPU उपयोग नहीं - ऐप में सभी थ्रेड बंद कर दिए गए हैं। – Vitaly
[संपादित] जीसी लॉग चालू करने के बाद मुझे "पदोन्नति विफल" समस्या मिली। अच्छा विवरण यहां है: http://www.sun.com/bigadmin/content/submitted/cms_gc_logs.html। मदद के लिए हरबोड धन्यवाद। – Vitaly