jcmd - значение последнего столбца для `jcmd VM.flags -all`

Выполните следующую команду, чтобы получить список всех доступных флагов jvm:

jcmd 24468 VM.flags -all | less -N

Затем в последнем столбце были найдены следующие значения (с использованием JDK1.8 в Linux):

* 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
* 

Вопрос в том:

Я знаю только значение некоторых ценностей, которые мне дают объяснение, в чем смысл остальных?

1 ответ

Решение

Тип флага зависит от местоположения в исходном коде HotSpot, где флаг объявлен / определен. Большинство флагов объявлено в src / share / vm / runtime / globals.hpp.

  • pd_product флаги также объявлены в globals.hpp, но определены в одном из файлов, зависящих от платформы:
  • C1 product а также C2 product Флаги специфичны для компилятора C1 (клиент) и C2 (сервер) соответственно. Они объявлены в файлах
  • C1 pd product а также C2 pd product это флаги C1/C2, определенные в директориях для конкретной платформы (os, cpu, os_cpu).
  • product rw флаги похожи на manageable, но предназначен для внутреннего использования и может быть изменен в будущих версиях JVM. Эти флаги также могут быть изменены во время выполнения через JMX.
  • lp64_product флаги существуют только в 64-битной JVM. В 32-битной JVM они являются константами времени компиляции.
  • ARCH product флаги существуют только на конкретной архитектуре, в отличие от pd_product которые существуют везде, но отличаются по умолчанию. Специфичные для архитектуры флаги объявлены и определены в src / cpu / x86 / vm / globals_x86.hpp.
  • commercial флаги требуют -XX:+UnlockCommercialFeatures вариант.

Это также

  • diagnostic флаги для использования разработчиками JVM.
    Они разблокированы -XX:+UnlockDiagnosticVMOptions,
  • experimental Флажки для функций, которые не полностью протестированы / поддерживаются.
    Они разблокированы -XX:+UnlockExperimentalVMOptions,
Другие вопросы по тегам