Подтвердить что ты не робот

Знать какие-либо инструменты анализа журналов сбора мусора Java?

Я ищу инструмент или script, который возьмет консольный журнал из моего веб-приложения, проанализирует информацию об уборка мусора и осветит его.

Я запускаю JVM Sun Java 1.4.2 со следующими флагами:

-verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails

Выход журнала выглядит следующим образом:

54.736: [Full GC 54.737: [Tenured: 172798K->18092K(174784K), 2.3792658 secs] 257598K->18092K(259584K), [Perm : 20476K->20476K(20480K)], 2.4715398 secs]

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

4b9b3361

Ответ 2

gcviewer делает то, что вы хотите.

Ответ 3

Я думаю, что некоторые люди добавляют Java-зонды, которые на самом деле не анализируют журналы сбора мусора, как говорится в вопросе...

Я пробовал другие (gcviewer, gchisto, IBM) и лучший инструмент для анализа логов GC, который я нашел, - HPjmeter

Он в основном предназначен для виртуальных машин HP-UX, но обычно он также работает с виртуальными машинами Sun и отлично работает.

alt text
(источник: xebia.com)

Ответ 4

Я попробовал онлайн-инструмент http://gceasy.io, он может читать мой журнал jdk 1.8 gc.

Ответ 5

Даже лучше, чем jconsole visualvm, который разрабатывается и распространяется свободно Sun. Он имеет плагин GC-анализа, называемый gchisto, который может вам помочь.

Изменить: Извините, я не видел вашего требования JDK 1.4.2. В этом случае visualvm не поможет вам, увы.

Ответ 6

Самый мощный инструмент, который я нашел для работы с журналами IBM и Hotspot JVM, и визуализировать их - это IBM PMAT: https://www.ibm.com/developerworks/mydeveloperworks/groups/service/html/communityview?communityUuid=22d56091-3a7b-4497-b36e-634b51838e11

Я нахожу его как быстрее, так и дает больше деталей, чем инструмент в IBM Support Assistant. Он постоянно обновляется, наконец, июль'12.

Однако, похоже, есть некоторые проблемы с анализом журналов с политикой CMS, но, надеюсь, это может быть исправлено.

PrintGCStats тоже хорош, и дает хорошую статистику, но не для визуализации с течением времени, которая нуждается в некоторой работе.

Ответ 7

Я использую YourKit java profiler, который позволяет вам измерять такие вещи и многое другое, но используя его собственный формат, а не анализировать журнал. Он может делать больше в Java 5, но должен работать под 1.4.

Ответ 8

Попробуйте VisualGC от Sun. Существуют версии JDK 4 и 5, которые дают вам представление о том, что происходит в пространствах eden, generation и perm. Вам нужно добавить JAR и получить PID, а Bob - вашего дядю.

Ответ 9

Несколько лет назад Джон Куумс (группа Hotspot GC) выпустил PrintGCStats, awk script, чтобы "обобщить статистику об сборе мусора, в частности, общие временные итоги gc, средние, максимальные и стандартные отклонения". Копия script размещена на java.net: http://java.net/projects/printgcstats

Ответ 10

jconsole может вам очень помочь, но я думаю, что это только Java 5 и более поздние версии. Однажды я услышал, как кто-то из SUN говорит в нашем университете, и он сказал, что сборщик мусора Java 6 намного лучше, чем старые, которые нуждаются в сложной настройке почти все время для больших приложений. Java 6 GC, похоже, значительно улучшает SMP.

Ответ 11

gchisto plugin для VisualVM не работает https://gchisto.dev.java.net/

У меня есть файл со всеми подробностями printgc для jdk1.6, но не нашел инструмент для его чтения. Раньше с jdk1.5 мы использовали HPjmeter, он работал нормально, но теперь с jdk1.6 он не

Пробовал следующее: IBM Model Modeling and Analysis Tool для Java Garbage Collector - он не распознает файл. GCCollector не работает, он продолжает читать файл для анализа.

Ответ 12

Как насчет того, чтобы попробовать какой-нибудь профилирующий инструмент вроде JProbe Freeware (плагин Eclipse).