Как узнать, какие настройки по умолчанию включены для Sun JVM?
Я хочу попробовать CompressedOops на моей JVM. Нет, мне интересно, может ли он быть включен по умолчанию. Я запускаю этот 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 для конкретной сборки с их значениями по умолчанию?
С уважением Яннинг
1 ответ
Вы можете бегать с -XX:+PrintFlagsFinal
распечатать значения всех флагов при запуске JVM.
Кроме того, вы можете использовать jinfo
инструмент для проверки значения флага в работающей JVM:
> jinfo -flag UseCompressedOops 7364
-XX:+UseCompressedOops
использование jps
чтобы найти pid процесса.