Профилировщики Java С Открытым Исходным Кодом


Что вы можете посоветовать использовать с Java?

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

11 82

11 ответов:

VisualVM, который поставляется с jdk6, имеет базовый профилировщик внутри него. VisualVM поставляется с jdk, поэтому, если у вас установлен jdk6, вы, вероятно, также установили его.

https://visualvm.github.io/

У вас есть список здесь (перечисляя их ниже, в случае, если ссылка будет сломана)

  • JMemProf
  • JMP
  • DrMem
  • JTreeProfiler
  • Средства Профилирования NetBeans
  • хамон API
  • JBoss Profiler
  • MessAdmin
  • ИК
  • TomcatProbe
  • Java Interactive Profiler (JIP)
  • Profiler4j
  • секундомер
  • JMeasurement
  • DJProf
  • TIJmp
  • Allmon
  • Appspy
  • EurekaJ
  • Азиатско -
  • профайлер OKTECH
  • Perf4j

Ах. Netbeans Profiler, developer.com 's" Продукт года " победитель, в 2009 году.

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

инструмент с открытым исходным кодом jvmtop включает в себя базовый профилировщик консоли. Пример вывода:

 JvmTop 0.7.0 alpha - 15:16:34,  amd64,  8 cpus, Linux 2.6.32-27, load avg 0.41
 http://code.google.com/p/jvmtop

 Profiling PID 24015: org.apache.catalina.startup.Bootstrap

  36.16% (    57.57s) hudson.model.AbstractBuild.calcChangeSet()
  30.36% (    48.33s) hudson.scm.SubversionChangeLogParser.parse()
   7.14% (    11.37s) org.kohsuke.stapler.jelly.JellyClassTearOff.parseScript()
   6.25% (     9.95s) net.sf.json.JSONObject.write()
   3.13% (     4.98s) ....kohsuke.stapler.jelly.CustomTagLibrary.loadJellyScri()

Если вы ищете без излишеств, простой в использовании профилировщик с открытым исходным кодом, вы можете взглянуть на Jip ( Java Interactive Profiler). Он опубликован под лицензией BSD. Я нашел его весьма полезным для небольших программ. По крайней мере, результаты, которые он дает, гораздо проще понять, чем вывод hprofs.

этой быстро, грязно и очень эффективно: просто возьмите несколько дампов потоков или приостановите программу несколько раз и посмотрите на трассировки стека.

Java Mission Control, он может свободно использоваться для разработки и интегрируется с Eclipse. Он имеет очень низкие накладные расходы (

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

IDE Netbeans включает в себя бесплатный профилировщик.

кроме того, если я правильно помню, академическая лицензия для JProfiler является (относительно) недорогой.

JVM Monitor это Java-профилировщик, интегрированный с Eclipse для мониторинга процессора, потоков и использования памяти Java-приложений.

Если необходим дальнейший глубокий анализ, вы можете использовать другие инструменты (например,tptp, с помощью,Анализатор Памяти) в качестве следующего шага.