Я смотрю на параметры конфигурации JVM для запуска Alfresco, в основном этот документ на Alfresco Wiki . Одна из рекомендаций - использовать флаги JVM -Xcomp
и -Xbatch
. Обоснование этого:
Если вы хотите, чтобы Hotspot предварительно компилировал классы, вы можете добавить [-Xcomp и -Xbatch]. Это, однако, значительно увеличит время запуска сервера, но выделит отсутствующие зависимости, которые могут быть обнаружены позже.
Из того, что у меня есть Читайте в другом месте о флагах -Xcomp
и -Xbatch
, мне интересно, действительно ли они приносят какую-либо пользу.
-Xcomp
заставляет HotSpot заранее скомпилировать весь код с максимальной оптимизацией, исключая тем самым любое профилирование, которое ВМ получит при стандартном запуске системы.
-Xbatch
останавливает фоновую компиляцию, что означает поток, который вызывал компиляцию кода, пока компиляция не будет завершена. Однако после завершения компиляции ранее заблокированный поток не будет запускать скомпилированный код , , он все равно будет выполнять интерпретированный код . Это было изменение в Java 6 (Mustang) - до Mustang потоки, заблокированные для компиляции из-за наличия флага -Xbatch
, гарантированно работали в скомпилированном коде, как только компиляция была завершена. Поэтому я предполагаю, что рекомендация флага -Xbatch
является следствием запуска Alfresco на старых виртуальных машинах.
У кого-нибудь есть мысли? Я склонен избавиться от этих двух флагов и положиться на ВМ, чтобы все было правильно.
Я хотел бы добавить две вещи, во-первых, что у меня еще нет доступа к экземпляру Alfresco, чтобы проверить это, и, во-вторых, я действительно не знаю, какая спецификация машины содержит Alfresco, кроме этой, глядя на в других вариантах конфигурации это должна быть 64-битная виртуальная машина. Несмотря на это, я надеюсь, что сообщество получит полезную информацию, возможно, с точки зрения общей настройки HotSpot.