Включение регистрации GC в веб-приложении Java на Tomcat - PullRequest
1 голос
/ 08 мая 2019

У меня есть веб-приложение Java, работающее на Tomcat (работающее как служба), я хочу включить ведение журнала GC.В командной строке Windows в папке java / bin / я запускаю следующую команду

java -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:C:/Users/aa/Desktop/gc.log

Журнал создан, но содержит поврежденные данные и журнал не обновляется

Java HotSpot(TM) 64-Bit Server VM (25.171-b11) for windows-amd64 JRE (1.8.0_171-b11), built on Mar 28 2018 16:06:12 by "java_re" with MS VC++ 10.0 (VS2010)
Memory: 4k page, physical 16655948k(3946040k free), swap 39679116k(5477732k free)
CommandLine flags: -XX:InitialHeapSize=266495168 -XX:MaxHeapSize=4263922688 -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC 
Heap
PSYoungGen      total 76288K, used 3932K [0x000000076b400000, 0x0000000770900000, 0x00000007c0000000)
eden space 65536K, 6% used [0x000000076b400000,0x000000076b7d7240,0x000000076f400000)
from space 10752K, 0% used [0x000000076fe80000,0x000000076fe80000,0x0000000770900000)
to   space 10752K, 0% used [0x000000076f400000,0x000000076f400000,0x000000076fe80000)
ParOldGen       total 175104K, used 0K [0x00000006c1c00000, 0x00000006cc700000, 0x000000076b400000)
object space 175104K, 0% used [0x00000006c1c00000,0x00000006c1c00000,0x00000006cc700000)
Metaspace       used 2909K, capacity 4480K, committed 4480K, reserved 1056768K
class space    used 329K, capacity 384K, committed 384K, reserved 1048576K

Но когда я устанавливаю

-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:C:/Users/aa/Desktop/gc.log

эту конфигурацию в аргументах виртуальной машины затмения, она работает.Что я делаю не так?

1 Ответ

0 голосов
/ 08 мая 2019

Вы должны добавить эти флаги в поле JAVA_OPTS в файле setenv.bat в каталоге Tomcat / bin.

Имеет ли процесс Tomcat доступ на запись в папку GC Log?Когда логи пишутся, они не должны быть повреждены.Вы можете быстро проверить журнал с помощью gceasy.io.

Журнал обновляется только во время работы GC.Это может быть только один раз за более длительный период времени, в зависимости от вашего приложения и алгоритма GC.

Подсказка: не забудьте активировать ротацию логов, в противном случае вам может не хватить памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...