- क्या G1 जावा 7 में डिफ़ॉल्ट कलेक्टर है और अगर मैं G1 को कैसे सक्रिय नहीं कर सकता?
G1 जावा 7 में डिफ़ॉल्ट कलेक्टर नहीं है। -XX:+UseG1GC
G1GC को सक्षम करेगा
- Java7 में g1 की क्या वैकल्पिक सेटिंग्स हैं?
वहां कई हैं। पूरी जानकारी के लिए इस अलंकृत लेख को देखें।
G1 GC चूक के साथ एक अनुकूली कचरा संग्रहकर्ता है जो इसे संशोधन के बिना कुशलता से काम करने में सक्षम बनाता है।
इस कारण के कारण, महत्वपूर्ण मापदंडों को अनुकूलित करें
-XX:MaxGCPauseMillis
-XX:G1HeapRegionSize
-XX:ParallelGCThreads
-XX:ConcGCThreads
और डिफ़ॉल्ट मान के लिए अन्य सभी मापदंडों को छोड़ दें ।
यहां महत्वपूर्ण विकल्पों और उनके डिफ़ॉल्ट मूल्यों की एक सूची दी गई है। यह सूची नवीनतम जावा हॉटस्पॉट वीएम पर लागू होती है, 24 का निर्माण करती है। आप जेवीएम कमांड लाइन पर जी 1 जीसी सेटिंग्स को अनुकूलित और ट्यून कर सकते हैं।
महत्वपूर्ण कमी:
-XX:G1HeapRegionSize=n
G1 क्षेत्र का आकार सेट करता है। मान दो की शक्ति होगी और 1MB से 32MB तक हो सकती है। लक्ष्य न्यूनतम जावा हीप आकार के आधार पर लगभग 2048 क्षेत्रों का होना है।
-XX:MaxGCPauseMillis=200
वांछित अधिकतम ठहराव समय के लिए एक लक्ष्य मान सेट करता है। डिफ़ॉल्ट मान 200 मिलीसेकंड है। निर्दिष्ट मान आपके ढेर आकार के अनुकूल नहीं है।
-XX:G1NewSizePercent=5
युवा पीढ़ी के आकार के लिए न्यूनतम के रूप में उपयोग करने के लिए ढेर का प्रतिशत निर्धारित करता है। डिफ़ॉल्ट मान आपके जावा हीप का 5 प्रतिशत है।
-XX:G1MaxNewSizePercent=60
युवा पीढ़ी के आकार के लिए अधिकतम के रूप में उपयोग करने के लिए ढेर आकार का प्रतिशत निर्धारित करता है। डिफ़ॉल्ट मूल्य आपके जावा ढेर का 60 प्रतिशत है।
-XX:ParallelGCThreads=n
STW कार्यकर्ता थ्रेड्स का मान सेट करता है। तार्किक प्रोसेसर की संख्या के लिए n का मान सेट करता है। N का मान 8 के मान तक तार्किक प्रोसेसर की संख्या के समान है।
यदि आठ से अधिक तार्किक प्रोसेसर हैं, तो तार्किक प्रोसेसर के लगभग 5/8 के एन सेट करें। यह बड़े स्पार्क सिस्टम को छोड़कर ज्यादातर मामलों में काम करता है जहां n का मान तार्किक प्रोसेसर का लगभग 5/16 हो सकता है।
-XX:ConcGCThreads=n
समानांतर अंकन धागे की संख्या निर्धारित करता है। समानांतर कचरा संग्रह थ्रेड्स (ParallelGCThreads) की संख्या के लगभग 1/4 भाग के लिए n सेट करता है।
-XX:InitiatingHeapOccupancyPercent=45
जावा हीप अधिभोग दहलीज सेट करता है जो एक अंकन चक्र को ट्रिगर करता है। डिफ़ॉल्ट अधिभोग पूरे जावा हीप का 45 प्रतिशत है।
-XX:G1MixedGCLiveThresholdPercent=65
पुराने क्षेत्र के लिए एक मिश्रित कचरा संग्रह चक्र में शामिल होने के लिए अधिभोग सीमा निर्धारित करता है। डिफ़ॉल्ट अधिभोग 65 प्रतिशत है
-XX:G1HeapWastePercent=10
ढेर का प्रतिशत निर्धारित करता है जिसे आप बर्बाद करने के लिए तैयार हैं। जावा हॉटस्पॉट वीएम मिश्रित कचरा संग्रहण चक्र की शुरुआत नहीं करता है जब पुनर्प्राप्त करने योग्य प्रतिशत ढेर कचरे के प्रतिशत से कम होता है
-XX:G1MixedGCCountTarget=8
अधिकांश G1MixedGCLIveThresholdPercent लाइव डेटा के साथ पुराने क्षेत्रों को इकट्ठा करने के लिए एक अंकन चक्र के बाद मिश्रित कचरा संग्रह की लक्ष्य संख्या निर्धारित करता है। डिफ़ॉल्ट 8 मिश्रित कचरा संग्रह है
-XX:G1OldCSetRegionThresholdPercent=10
मिश्रित कचरा संग्रह चक्र के दौरान एकत्र किए जाने वाले पुराने क्षेत्रों की संख्या पर एक ऊपरी सीमा निर्धारित करता है। डिफ़ॉल्ट जावा हीप का 10 प्रतिशत है
-XX:G1ReservePercent=10
स्थान की अधिकता के जोखिम को कम करने के लिए मुक्त रखने के लिए आरक्षित मेमोरी का प्रतिशत निर्धारित करता है। डिफ़ॉल्ट 10 प्रतिशत है। जब आप प्रतिशत बढ़ाते या घटाते हैं, तो कुल जावा हीप को उसी राशि से समायोजित करना सुनिश्चित करें।
आपने कई G1GC मापदंडों को फिर से कॉन्फ़िगर किया है, जो कि आवश्यक नहीं हैं यदि आप प्रलेखन पृष्ठ से ऊपर हैं। कृपया विशेष रूप से Par समानांतर GCThreads और ConcGCThreads पर उपरोक्त सिफारिशों के साथ क्रॉस चेक करें , जो आपके CPU कोर पर आधारित हैं। गैर-आवश्यक मापदंडों का पुनः कॉन्फ़िगरेशन निकालें।
सिफारिशोंओरेकल से :
जब आप G1 GC का मूल्यांकन करते हैं, तो निम्न अनुशंसाओं को ध्यान में रखें:
युवा पीढ़ी का आकार : -Xmn
विकल्प या किसी अन्य संबंधित विकल्प जैसे कि स्पष्ट रूप से युवा पीढ़ी का आकार निर्धारित करने से बचें -XX:NewRatio
। युवा पीढ़ी के आकार को ठीक करने से लक्ष्य ठहराव-समय लक्ष्य ओवरराइड होता है ।
ठहराव समय लक्ष्य: जब आप किसी भी कचरा संग्रह का मूल्यांकन या धुन करते हैं, तो हमेशा एक विलंबता बनाम थ्रूपुट व्यापार बंद होता है। G1 GC यूनिफ़ॉर्म पॉज़ के साथ एक वृद्धिशील कचरा संग्रहकर्ता है, लेकिन एप्लिकेशन थ्रेड्स पर अधिक ओवरहेड भी है। G1 GC के लिए थ्रूपुट लक्ष्य 90 प्रतिशत आवेदन समय और 10 प्रतिशत कचरा संग्रह समय है ।
- क्या जावा 7 में cms या समानांतर कलेक्टर जैसे अन्य कलेक्टरों में कोई बदलाव हुआ है?
जावा 7 के साथ कुछ बदलाव हैं। इस लेख पर एक नज़र डालें
- मुझे जावा 7 में कचरा संग्रहण पर अच्छे दस्तावेज कहां मिल सकते हैं?
Gc और संबंधित SE प्रश्न के बारे में ओरेकल प्रलेखन पृष्ठ देखें :
उत्पादन में जावा जी 1 कचरा संग्रह