32

JVM で CompressedOops を試してみたい。いいえ、デフォルトで有効になっているのではないでしょうか。この jvm を debian/squeeze で実行します。

$ java -version
java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03, mixed mode)

デフォルトで有効になっていると言う人もいれば、そうでないという人もいます:

から: http://forums.yourkit.com/viewtopic.php?f=3&t=3185

はい、その通りです。私もチェックしましたが、Compressed Oops は Java6u21 64 ビットではデフォルトでアクティブ化されていません。私が提供したリンクでそう言っている理由がわかりません。

jconsole/JMX で確認しようとしましたが、CompressedOops などの名前の属性を見つけることができませんでした。

デフォルト値を含む特定のビルドのすべての jvm オプションのリストをどこで取得できるか知っている人はいますか?

よろしくジャニング

4

1 に答える 1

67

を実行し-XX:+PrintFlagsFinalて、JVM の起動時にすべてのフラグの値を出力できます。

または、このツールを使用しjinfoて、実行中の JVM のフラグの値を確認できます。

> jinfo -flag UseCompressedOops 7364
-XX:+UseCompressedOops

jpsプロセスの pid を見つけるために使用します。

于 2011-03-17T09:39:30.767 に答える