web-dev-qa-db-ja.com

すべてのJVMフラグを印刷

興味深いJVMフラグが見つかりました:

Java -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version

それは何百ものさまざまなオプションを印刷します。また、デフォルト値を出力するため、JVMの動作をより適切に診断できます。別の興味深いフラグは次のとおりです。

-XX:+UnlockExperimentalVMOptions

誰もがそれらのそれぞれを説明するドキュメントを知っていますか?

85
Sachin Bhansali

ソースに飛び込む前に、次の抜粋をざっと読んで、適切なオプションをすばやく見つけることができます。

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

30

私が見つけた最高のドキュメントは ソース です。

this SO Q&A を使用してデバッグビルドを作成しました。このデバッグビルドを使用すると、Java -XX:+AggressiveOpts -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+PrintFlagsFinal -XX:+PrintFlagsWithComments -version

ソースのあるディレクトリから、次のコマンドを実行できます(Linux、Cygwinなどを使用している場合):

grep -FR 'UnlockExperimentalVMOptions' hotspot/

または、次の(*.cppおよび*.hppファイル):

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

次に、ソースファイルを確認します。おそらく、すべてのオプションを説明するドキュメントが1つも存在しない最大の理由は、これらのオプションのいくつかはJVMを本当に理解している人に任せたほうがよいということです。

だから、言葉で(ほぼ)偉大な マスターuse the source

12
Dan Cruz