Рекомендации для инструмента анализа кучи для Java?

Перечислите свои любимые инструменты анализа кучи (например, jprofiler, jmap,...). Пусть один инструмент для каждого ответа, с кратким списком плюсов и минусов для каждого инструмента.

Ответ 1

YourKit: http://www.yourkit.com/

Плюсы:

  • Интерфейс чистый и быстрый
  • Он открыл большой 5-гигабайтный куст, где jProfiler остановился. И для этого понадобилось всего 1-2 гигабайта JVM.

Минусы: Конечно... это не бесплатно: (

Ответ 2

Анализатор памяти Eclipse http://www.eclipse.org/mat/

  • Поддержка нескольких JVM
  • Помогите определить источники утечек памяти (см. http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/6856)
  • Открытый исходный код и активно разработан крупными поставщиками (SAP и IBM)
  • Часть релиза Eclipse от Galileo

Ответ 3

Java VisualVM, jvisualvm, включенный в JDK. Патологическая программа Swing рассматривается здесь.

Ответ 4

BHeapSampler http://dr-brenschede.de/bheapsampler/

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