Как узнать, какие настройки по умолчанию включены для Sun JVM? - PullRequest
29 голосов
/ 08 марта 2011

Я хочу попробовать 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

Да, вы правы, я тоже это проверил и Сжатый Ой не активирован по умолчанию в Java6u21 64-битная, я делаю не понимаю, почему так сказано в ссылки, которые я предоставил.

Я попытался проверить это с помощью jconsole / JMX, но не смог найти атрибут с именем CompressedOops или тому подобное.

Кто-нибудь знает, где я получаю список всех опций jvm для конкретной сборки с их значениями по умолчанию?

С уважением Janning

1 Ответ

60 голосов
/ 17 марта 2011

Вы можете запустить с -XX:+PrintFlagsFinal, чтобы напечатать значения всех флагов при запуске JVM.

В качестве альтернативы, вы можете использовать инструмент jinfo для проверки значения флага в работающей JVM:

> jinfo -flag UseCompressedOops 7364
-XX:+UseCompressedOops

Используйте jps, чтобы найти pid процесса.

...