すべてのjVMパラメータとそのデフォルト値を印刷
1983 ワード
Javaプログラマーは、好奇心や仕事の必要性にかかわらず、JVMに関するパラメータを理解する必要がある場合があります.Oracleのドキュメントには、すべてではなく(ここをクリック)、デフォルトで他のパラメータが有効または無効になっているパラメータもありますが、場合によってはパラメータの設定は有効ではありません.JVMに何かをさせたい時もありますが、そのパラメータが使えるかどうか分かりません.すべてのパラメータをリストする方法を紹介します.これにより、研究やGoogleでも明確な目標が得られます.
ラインオフで実行中のJVMに設定されているパラメータを確認したい場合は、有効な方法は次のとおりです.
1. Linuxの下でpsコマンドでJavaアプリケーションを起動するときのパラメータを見つけます
ps -ef | grep "your java app name"
このコマンドは、Javaアプリケーションを起動するときにjavaコマンドに渡されるすべてのパラメータを打ち出し、JVMパラメータが表示されます.
2.起動スクリプト、またはパラメータ構成を直接参照
このJVMパラメータを設定するすべての場所を見つけることができ、漏れやすいとは限らない.
一般的に、上記の2つの方法は、少なくとも特定のパラメータについてJVMをよく知っているか、よく知っている必要があります.
JVMには、ほとんどのJVMでサポートされているパラメータとデフォルト値を印刷できるパラメータ-XX:+PrintFlagsFinalがあります.Javaアプリケーションがそれらのパラメータを使用しているかどうかを確認したい場合は、起動時にこのパラメータを追加すればいいです.
1.JDKでサポートされているパラメータの表示
java -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version
2.Javaアプリケーションで使用可能なJVMパラメータの印刷
java -XX:+PrintFlagsFinal -classpath=/path/to/your/libs MainClass
3.Javaアプリケーションがすでに実行されている場合は、JVMパラメータが有効になっているかどうかを確認したい場合は、jinfoというツールを使用できます.例えば、有名なG 1ゴミ回収機は、JDK 7 update 3ではクライアント(-client)モードでもサーバ(-server)モードでもデフォルトで起動されません.
jinfoはJDKとともにリリースされ、使用時にjpsでJavaアプリケーションのpidを見つけます.jinfoを直接実行すると、使用説明を表示できます.
jinfo -flag UseParallelOldGC 31072
-XX:+UseParallelOldGC
JDKにはまだまだ実用的なツールが多く、${JAVA_HOME}/binディレクトリのコマンドごとに体験でき、サプライズがあります.
ラインオフで実行中のJVMに設定されているパラメータを確認したい場合は、有効な方法は次のとおりです.
1. Linuxの下でpsコマンドでJavaアプリケーションを起動するときのパラメータを見つけます
ps -ef | grep "your java app name"
ps -ef | grep "your java app name"
このコマンドは、Javaアプリケーションを起動するときにjavaコマンドに渡されるすべてのパラメータを打ち出し、JVMパラメータが表示されます.
2.起動スクリプト、またはパラメータ構成を直接参照
このJVMパラメータを設定するすべての場所を見つけることができ、漏れやすいとは限らない.
一般的に、上記の2つの方法は、少なくとも特定のパラメータについてJVMをよく知っているか、よく知っている必要があります.
JVMには、ほとんどのJVMでサポートされているパラメータとデフォルト値を印刷できるパラメータ-XX:+PrintFlagsFinalがあります.Javaアプリケーションがそれらのパラメータを使用しているかどうかを確認したい場合は、起動時にこのパラメータを追加すればいいです.
1.JDKでサポートされているパラメータの表示
java -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version
java -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version
2.Javaアプリケーションで使用可能なJVMパラメータの印刷
java -XX:+PrintFlagsFinal -classpath=/path/to/your/libs MainClass
java -XX:+PrintFlagsFinal -classpath=/path/to/your/libs MainClass
3.Javaアプリケーションがすでに実行されている場合は、JVMパラメータが有効になっているかどうかを確認したい場合は、jinfoというツールを使用できます.例えば、有名なG 1ゴミ回収機は、JDK 7 update 3ではクライアント(-client)モードでもサーバ(-server)モードでもデフォルトで起動されません.
jinfoはJDKとともにリリースされ、使用時にjpsでJavaアプリケーションのpidを見つけます.jinfoを直接実行すると、使用説明を表示できます.
jinfo -flag UseParallelOldGC 31072
jinfo -flag UseParallelOldGC 31072
-XX:+UseParallelOldGC
-XX:+UseParallelOldGC
JDKにはまだまだ実用的なツールが多く、${JAVA_HOME}/binディレクトリのコマンドごとに体験でき、サプライズがあります.