Tüm JVM Bayraklarını Yazdır


98

İlginç bir JVM Bayrağı bulundu:

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

Daha önce hiç duymadığım yüzlerce farklı seçeneği yazdırıyor. Ayrıca, JVM davranışlarını daha iyi teşhis etmeye yardımcı olan varsayılan değerleri de yazdırır. Bir başka ilginç bayrak ise:

-XX:+UnlockExperimentalVMOptions

Her birini açıklayan herhangi bir belge bilen var mı?



Komut satırının dokümantasyonda listelenmemesinin nedeni, adından da anlaşılacağı gibi sanal makineyi teşhis etmek için orada olmasıdır. Hotspot'ta hata ayıklayan kişilerin muhtemelen onları tanıdığı varsayılabilir;)
Voo

1
bu bağlantı bu seçenekleri kısa ve oldukça iyi açıklıyor.
sactiw

Yanıtlar:


36

-XX:+JVMCIPrintPropertiesGraal JIT seçeneklerini de kaçırmayın .

Kaynaklara dalmadan önce aşağıdaki özleri gözden geçirebilir ve uygun seçeneği daha hızlı bulabilirsiniz:

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

Bulduğum en iyi belgeler kaynaktır .

Ben kullandım bu SO Q & A bir hata ayıklama yapı oluşturmak için. Bu hata ayıklama yapısı ile çalıştırabilirsiniz java -XX:+AggressiveOpts -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+PrintFlagsFinal -XX:+PrintFlagsWithComments -version.

Kaynakların bulunduğu dizinden, çalıştırabilirsiniz (Linux, Cygwin veya benzerlerini kullandığınızı varsayarak):

grep -FR 'UnlockExperimentalVMOptions' hotspot/

Veya aşağıdakiler (yalnızca *.cppve *.hppdosyalara bakar ):

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

Ardından kaynak dosyalara bakın. Muhtemelen tüm seçenekleri tanımlayan tek bir belgenin bulunmamasının en iyi nedeni, bu seçeneklerden bazılarının JVM'yi gerçekten anlayanlara bırakılmasının daha iyi olmasıdır ve bunu yapmanın en iyi yolu, kaynak koda yakından aşina olmaktır.

Yani, büyük sözleriyle (neredeyse) içinde usta , use the source!


1
Kaynak, tanımı gereği programın mükemmel belgeleridir. Ayrıca bkz: codinghorror.com/blog/2012/04/…
Pyrolistical

@Pyrolistical Bağlantı için teşekkürler; iyi okudum ve Jeff Atwood'un son zamanlarda blog yazdığını bilmiyordum read the source.
Dan Cruz
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.