3

次のコマンドを実行して、使用可能なすべての jvm フラグを一覧表示します。

jcmd 24468 VM.flags -all | less -N

次に、最後の列で、次の値が見つかりました (Linux で JDK1.8 を使用) :

* product
    default value is the same on all platform,
* pd product
    default value is platform-dependent,
* manageable
    could change dymanically in runtime,
* 
* C1 product
* C2 product
* 
* C1 pd product
* C2 pd product
* 
* product rw
* 
* lp64_product
* ARCH product
* 
* commercial
* 

質問は:

私はいくつかの値の意味を知っているだけで、説明を与えました.残りの値の意味は何ですか?

4

1 に答える 1

3

フラグのタイプは、フラグが宣言/定義されている HotSpot ソース コード内の場所によって異なります。ほとんどのフラグはsrc/share/vm/runtime/globals.hppで宣言されています。

  • pd_productフラグも globals.hpp で宣言されていますが、プラットフォームに依存するファイルの 1 つで定義されています。
  • C1 productおよびC2 productflags は、それぞれ C1 (クライアント) および C2 (サーバー) コンパイラに固有です。それらはファイルで宣言されています
  • C1 pd productC2 pd productプラットフォーム固有のディレクトリ (os、cpu、os_cpu) で定義されている C1/C2 フラグです。
  • product rwflags は に似てmanageableいますが、内部使用を目的としており、JVM の将来のバージョンで変更される可能性があります。これらのフラグは、JMX を介して実行時に変更することもできます。
  • lp64_productフラグは 64 ビット JVM にのみ存在します。32 ビット JVM では、これらはコンパイル時の定数です。
  • ARCH productフラグは特定のアーキテクチャにのみ存在し、pd_productどこにでも存在するがデフォルト値が異なるものとは異なります。アーキテクチャ固有のフラグは、src/cpu/x86/vm/globals_x86.hppで宣言および定義されています。
  • commercialフラグには-XX:+UnlockCommercialFeaturesオプションが必要です。

もあります

  • diagnosticJVM 開発者が使用するフラグ。
    によってロックが解除され-XX:+UnlockDiagnosticVMOptionsます。
  • experimental完全にテスト/サポートされていない機能のフラグ。
    によってロックが解除され-XX:+UnlockExperimentalVMOptionsます。
于 2016-02-29T09:57:15.183 に答える