1.コンセプト
実行中のjvmのすべてのパラメーターを表示し、いくつかのパラメーターを設定することもできます
2.文法
jinfo -help
使用法:jinfoパラメーターpid
パラメータの説明:
パラメータ |
意味 |
-フラグ<名前> |
名前付きVMフラグの値を出力します(名前に対応するパラメーターを出力します) |
-フラグ[+ |-] <名前> |
名前付きVMフラグを有効または無効にします(対応する名前のパラメーターをオンまたはオフにします) |
-フラグ<名前> = <値> |
名前付きVMフラグを指定された値に設定します |
-フラグ |
VMフラグを出力する(すべてのパラメーターを出力する) |
-sysprops |
Javaシステムプロパティを出力するには |
<オプションなし> |
上記の両方を印刷するには(すべてのパラメーターとシステムプロパティを出力します) |
-h | -助けて |
このヘルプメッセージを印刷するには |
pid:プロセスID。jpsまたはpsコマンドで取得できます。
3、例
1.対応する名前のパラメーターを確認します。jinfo-flagMaxNewSize121083
2.対応する名前のパラメーターをオンまたはオフにします。
オンにする:jinfo -flag + PrintGC 121083
閉じる:jinfo -flag -PrintGC 121083
オンになっているかどうかを確認します:jinfo -flag PrintGC 121083
3.すべてのパラメーターを出力します。jinfo-flags121083
4.システムプロパティを表示します:jinfo -sysprops 121083
パラメータ |
意味 |
-Xms |
初期ヒープサイズ。デフォルトは物理メモリの1/64(<1GB)です。空きヒープメモリが40%未満の場合、デフォルト(MinHeapFreeRatioパラメータは調整可能)で、JVMは最大制限までヒープを増やします。 -Xmxの |
-Xmx |
最大ヒープサイズ、デフォルト(MaxHeapFreeRatioパラメーターは調整可能)、空きヒープメモリが70%を超える場合、JVMは最小制限の-Xmsまでヒープを削減します |
-Xmn |
新世代のメモリスペースサイズ、注:ここでのサイズは(eden + 2サバイバースペース)です。これは、jmap-heapに示されている新世代とは異なります。ヒープ全体のサイズ=若い世代のサイズ+古い世代のサイズ+永続的な世代のサイズ。ヒープサイズが変わらない状態で、若い世代を増やした後、古い世代のサイズを減らします。この値は、システムパフォーマンスに大きな影響を与えます。Sunは、ヒープ全体の3/8の構成を公式に推奨しています。 |
-XX:SurvivorRatio |
新世代のサバイバーエリアに対するエデンエリアの容量比。デフォルト値は8です。2つのサバイバーエリアと1つのエデンエリアの比率は2:8であり、1つのサバイバーエリアは若い世代全体の1/10を占めています。 |
-Xss |
各スレッドのスタックサイズ。JDK5.0以降、各スレッドのスタックサイズは1Mで、以前は各スレッドのスタックサイズは256Kでした。アプリケーションスレッドに必要なメモリサイズに応じて適切に調整する必要があります。同じ物理メモリの下で、この値を減らすと、より多くのスレッドが生成される可能性があります。ただし、オペレーティングシステムには、プロセス内のスレッド数に制限があり、無期限に生成することはできません。エクスペリエンス値は約3000〜5000です。一般に、小規模なアプリケーションの場合、スタックがそれほど深くない場合は128kで十分です。大規模なアプリケーションの場合は、256kをお勧めします。このオプションはパフォーマンスに比較的大きな影響を与え、厳密なテストが必要です。threadstacksizeオプションの説明と同様に、公式ドキュメントでは説明されていないようです。フォーラムには、「-XssはThreadStackSizeという名前のVMフラグに変換されます」という文があります。通常、この値を設定します。 |
-XX:PermSize |
permgenの初期値を設定します。デフォルト値は、物理メモリの1/64です。 |
-XX:MaxPermSize |
永続生成の最大値を設定します。物理メモリの1/4。 |
学習アドレス:https://blog.csdn.net/yx0628/article/details/80958488