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


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

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

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

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

12 52

12 ответов:

IBM GC toolkit делает именно то, что вы просите.

https://www.ibm.com/developerworks/java/jdk/tools/gcmv/

Я не уверен, что он совместим с журналами GC из JVM Sun.

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

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

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

Это, в основном, для HP-UX в виртуальной машине, но это, как правило, также работает с версии JVM Солнце и делает большую работу.

alt текст http://blog.xebia.com/wp-content/uploads/2008/09/hpjmeter-gctime.jpg

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

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

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

самый мощный инструмент, который я нашел для работы с журналами 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 тоже довольно хорош и дает хорошую статистику, но не для визуализации с течением времени, что требует некоторой работы.

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

попробовать VisualGC от Солнца. Есть версии JDK 4 и 5, которые дают вам хорошее представление о том, что происходит в eden, generational и perm пространствах. Вам нужно добавить банку и получить PID, а Боб-ваш дядя.

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

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

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

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

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

Как насчет попробовать некоторые профилирования инструмент, как Jprobe Freeware (Eclipse плагин).