एकत्रित मैं समवर्ती मार्क-स्वीप कलेक्टर के साथ एक आवेदन पत्र के जीसी लॉग फ़ाइल पर निम्न लक्षणों में दिखाई दे रही है:JVM सीएमएस कचरा मुद्दे
4031.248: [CMS-concurrent-preclean-start]
4031.250: [CMS-concurrent-preclean: 0.002/0.002 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
4031.250: [CMS-concurrent-abortable-preclean-start]
CMS: abort preclean due to time 4036.346: [CMS-concurrent-abortable-preclean: 0.159/5.096 secs] [Times: user=0.00 sys=0.01, real=5.09 secs]
4036.346: [GC[YG occupancy: 55964 K (118016 K)]4036.347: [Rescan (parallel) , 0.0641200 secs]4036.411: [weak refs processing, 0.0001300 secs]4036.411: [class unloading, 0.0041590 secs]4036.415: [scrub symbol & string tables, 0.0053220 secs] [1 CMS-remark: 16015K(393216K)] 71979K(511232K), 0.0746640 secs] [Times: user=0.08 sys=0.00, real=0.08 secs]
preclean प्रक्रिया लगातार निरस्त किया जा रहा रखता है। मैंने 5 के डिफ़ॉल्ट से CMSMaxAbortablePrecleanTime को 15 सेकंड में समायोजित करने का प्रयास किया है, लेकिन इससे मदद नहीं मिली है। वर्तमान JVM विकल्प इस प्रकार हैं ...
Djava.awt.headless=true
-Xms512m
-Xmx512m
-Xmn128m
-XX:MaxPermSize=128m
-XX:+HeapDumpOnOutOfMemoryError
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:BiasedLockingStartupDelay=0
-XX:+DoEscapeAnalysis
-XX:+UseBiasedLocking
-XX:+EliminateLocks
-XX:+CMSParallelRemarkEnabled
-verbose:gc
-XX:+PrintGCTimeStamps
-XX:+PrintGCDetails
-XX:+PrintHeapAtGC
-Xloggc:gc.log
-XX:+CMSClassUnloadingEnabled
-XX:+CMSPermGenPrecleaningEnabled
-XX:CMSInitiatingOccupancyFraction=50
-XX:ReservedCodeCacheSize=64m
-Dnetworkaddress.cache.ttl=30
-Xss128k
यह समवर्ती-abortable-preclean कभी नहीं दिखाई देता है चलाने के लिए एक मौका हो जाता है। मैंने https://blogs.oracle.com/jonthecollector/entry/did_you_know के माध्यम से पढ़ा जिसमें सीएमएसएसकेवेन्जबेयररमार्क को सक्षम करने का सुझाव था, लेकिन रोके जाने के दुष्प्रभाव आदर्श नहीं लगते थे। क्या कोई भी सुझाव दे सकता है?
[1 CMS-remark: 16015K(393216K)] 71979K(511232K), 0.0746640 secs]
क्या स्मृति क्षेत्रों उन संख्याओं की बात कर रहे पर स्पष्ट नहीं:
इसके अलावा, मैं अगर कोई, सीएमएस जीसी लॉग grokking के लिए एक अच्छा संदर्भ था विशेष इस पंक्ति में सोच रहा था। संपादित के लिए एक लिंक मिले इस http://www.sun.com/bigadmin/content/submitted/cms_gc_logs.jsp
सीएमएस टैग सामग्री-प्रबंधन प्रणालियों के संदर्भ में उपयोग किया जाता है, समवर्ती चिह्न और स्वीप जीसी नहीं। मैं इसे हटा दूंगा। –
जो लोग इसके बारे में खेद करते हैं, धन्यवाद – jlintz
50% पर सीएमएस शुरू करना मेरे लिए बहुत कम लगता है: -XX: CMSInitiatingOccupancyFraction = 50 शायद इसे बढ़ाना (या 'एंटीस्पाम' सुझावों के रूप में डिफ़ॉल्ट का उपयोग करना) अलग-अलग व्यवहार करेगा। इसके अलावा, मेरे लॉग में आमतौर पर ParNew उन्हें CMS के पहले, दौरान और उसके बाद चल रहा है। क्या ParNew चल रहा है? –