Профилировщики Java С Открытым Исходным Кодом
Что вы можете посоветовать использовать с Java?
единственным требованием является то, что он должен быть с открытым исходным кодом, или имеет не слишком дорогую академическую лицензию .
11 ответов:
VisualVM, который поставляется с jdk6, имеет базовый профилировщик внутри него. VisualVM поставляется с jdk, поэтому, если у вас установлен jdk6, вы, вероятно, также установили его.
У вас есть список здесь (перечисляя их ниже, в случае, если ссылка будет сломана)
- 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, с помощью,Анализатор Памяти) в качестве следующего шага.