У меня неправильно работает приложение под Tomcat на MSWindows. Чтобы настроить систему для лучшего понимания того, что не работает, я пытаюсь добавить ведение журнала GC, но пока мои попытки не увенчались успехом.
Изначально я установил CATALINA_OPTS в setenv.bat - но они были проигнорированы при перезапуске службы.
Затем я попытался добавить параметры, используя Tomcat8w.exe:
-Xloggc:"C:\PerfLogs\gc-tomcat.log"
-XX:+UseGCLogFileRotation
-XX:NumberOfGCLogFiles=10
-XX:GCLogFileSize=5M
-XX:+PrintGCDetails
-verbose:gc
-XX:+PrintGCDateStamps
-XX:+HeapDumpOnCtrlBreak
Служба не запускается с «ошибкой 4». Просмотр событий показывает:
Служба Apache Tomcat 8.0 Tomcat8 прервана из-за следующей специфичной для службы ошибки:
Система не может открыть файл.
Я проверил путь, и пользователь SYSTEM имеет полный контроль. В журнале Tomcat stderr нет сообщений об ошибках - только одна запись:
Commons Daemon procrun stdout initialized
Я не вижу, чтобы к другим файлам журнала добавлялось ничего.
Удаление указанных выше параметров позволяет запустить службу. Использование вышеупомянутого конфига с двойными кавычками на пути не имеет никакого влияния. Создание исходного файла журнала перед запуском службы не оказывает влияния.
Как включить ведение журнала GC? Как я могу узнать, почему это в настоящее время не удается?
(к сожалению, переход на более удобную для пользователя операционную систему невозможен).
Обновление
Я нашел еще несколько записей журнала - на этот раз в common-daemon-YYYY-MM-DD.log:
[2018-08-29 11:04:52] [info] [ 4068] Running 'Tomcat8' Service...
[2018-08-29 11:04:52] [info] [ 2560] Starting service...
[2018-08-29 11:04:52] [error] [ 4200] CreateJavaVM Failed
[2018-08-29 11:04:52] [error] [ 4200] The system could not find the environment option that was entered.
[2018-08-29 11:04:52] [error] [ 2560] Failed to start Java
[2018-08-29 11:04:52] [error] [ 2560] ServiceStart returned 4
[2018-08-29 11:04:52] [info] [ 4068] Run service finished.
[2018-08-29 11:04:52] [info] [ 4068] Commons Daemon procrun finished
и, в случае необходимости:
java version "1.8.0_74"
Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode)