सभी JVM झंडे प्रिंट करें


96

एक दिलचस्प JVM ध्वज मिला:

java -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version

यह सैकड़ों विभिन्न विकल्पों को छापता है, मैंने पहले कभी नहीं सुना। यह डिफ़ॉल्ट मानों को भी प्रिंट करता है, जो JVM व्यवहार को बेहतर तरीके से निदान करने में मदद करता है। एक और दिलचस्प झंडा है:

-XX:+UnlockExperimentalVMOptions

क्या किसी को किसी भी प्रलेखन के बारे में पता है जो उनमें से हर एक को समझाता है?



कारण यह है कि कमांडलाइन प्रलेखन में सूचीबद्ध नहीं है, क्योंकि जैसा कि नाम से पता चलता है कि यह वीएम का निदान करने के लिए है। ); यह माना जा सकता है कि लोगों को हॉटस्पॉट डिबगिंग शायद उन्हें पता है
Voo

1
यह लिंक इन विकल्पों को संक्षेप में और बहुत अच्छी तरह से समझाता है।
17

जवाबों:


35

-XX:+JVMCIPrintPropertiesग्रेगल जेआईटी विकल्पों के लिए भी याद न करें।

स्रोतों में गोता लगाने से पहले आप निम्नलिखित अर्क पर स्किम कर सकते हैं और उपयुक्त विकल्प तेजी से पा सकते हैं:

https://chriswhocodes.com/ (OracleJDK 6/7/8/9/10/11/12, OpenJDK 8/9/10/11, Graal CE / EE, OpenJ9, Zing)

http://jvm-options.tech.xebia.fr/

http://www.pingtimeout.fr/2012/05/jvm-options-complete-reference.html

http://stas-blogspot.blogspot.com/2011/07/most-complete-list-of-xx-options-for.html


15

मैंने पाया सबसे अच्छा प्रलेखन स्रोत है

मैंने डिबग बिल्ड बनाने के लिए इस SO Q & A का उपयोग किया है। इस डिबग बिल्ड के साथ, आप चला सकते हैं java -XX:+AggressiveOpts -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+PrintFlagsFinal -XX:+PrintFlagsWithComments -version

स्रोतों के साथ निर्देशिका से, आप निष्पादित कर सकते हैं (यह मानते हुए कि आप लिनक्स, साइगविन या इस तरह का उपयोग कर रहे हैं):

grep -FR 'UnlockExperimentalVMOptions' hotspot/

या, निम्नलिखित (जो केवल *.cppऔर *.hppफ़ाइलों को देखता है ):

find hotspot/ -name '*.[ch]pp' -exec grep -F 'UnlockExperimentalVMOptions' {} +

फिर स्रोत फ़ाइलों को देखें। संभवतः सबसे अच्छा कारण है कि कोई भी दस्तावेज़ नहीं है जो सभी विकल्पों का वर्णन करता है, इनमें से कुछ विकल्प उन लोगों के लिए बेहतर हैं जो वास्तव में जेवीएम को समझते हैं और ऐसा करने का सबसे अच्छा तरीका स्रोत कोड से परिचित होना है।

तो, शब्द (लगभग) एक महान के में मास्टर , use the source!


1
स्रोत कार्यक्रम की परिभाषा सही प्रलेखन द्वारा है। इसके अलावा कोडिंगहोरर
बीओएल

@Pyrolinary लिंक के लिए धन्यवाद; अच्छा पढ़ा और मुझे नहीं पता कि जेफ एटवुड ने हाल ही में ब्लॉगिंग की है read the source
डैन क्रूज़
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.