Знаете ли вы какие-либо инструменты анализа журнала сборки мусора 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 ответов:
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 в ГХ журнала.
самый мощный инструмент, который я нашел для работы с журналами 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 не работает, он продолжает читать файл для анализ.