वर्तमान में मैं समस्या यह है कि मेरे आवेदन लंबे जीसी बार कई मायनों दिखाया जा रहा है का सामना करना पड़ रहा हूँ, लेकिन इन सभी केवल कमजोर संदर्भ प्रक्रिया के कारण होता है। तो थ्रेड बंद समय हमेशा कमजोर रेफरी प्रोसेसिंग समय के करीब है। अन्य सभी जीसी चक्र 0.0001 सेकेंड से 0.200 सेकेंड हैं।जीसी के दौरान कमजोर रेफरी प्रोसेसिंग समय को कैसे कम कर सकता हूं?
gc.log से (पुन: स्वरूपित):
10388.186: [GC[YG occupancy: 206547 K (306688 K)]10388.186: [Rescan (parallel) ,
0.1095860 secs]10388.295: [weak refs processing, 2.0799570 secs]
[1 CMS-remark: 2973838K(3853568K)] 3180386K(4160256K), 2.1899230 secs]
[Times: user=2.51 sys=0.00, real=2.18 secs]
Total time for which application threads were stopped: 2.1906890 seconds
वर्तमान में मैं जगह में ये सेटिंग हैं। सरल सेटिंग्स का प्रयास किया, लेकिन कोई बदलाव नहीं।
-Xms4g
-Xmx4g
-XX:NewSize=128m
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:MaxGCPauseMillis=50
-XX:CMSInitiatingOccupancyFraction=50
-XX:ParallelGCThreads=16
-XX:+DisableExplicitGC
यदि मैं न्यूसाइज चालू करता हूं, तो मैं लंबे सामान्य जीसी चक्रों के साथ समाप्त होता हूं। मशीन में 8 कोर हैं और एप्लिकेशन के लिए इतना सीपीयू जला नहीं है। पुराने जीन जीसी को जल्दी और समवर्ती रूप से चलाने की कोशिश की।
और हाँ, मैं कमजोर रेफरी उपयोग बंद छुटकारा, क्योंकि यह एक 3 पार्टी पुस्तकालय का हिस्सा है नहीं मिल सकता है।
महान। मैं इसे कल सुबह आज़मा दूंगा। – ReneS
कृपया सही प्रारूप नोट करें: -XX: + समानांतर RefProcEnabled – ReneS
सहायता करता है! समय अब 0.2 - 0.5 के आसपास हैं और अनुमान लगाया जा सकता है। बहुत बढ़िया! – ReneS