Что вы, ребята, можете рекомендовать для использования с Java?
Только требование должно быть открытым исходным кодом или не слишком дорогостоящей академической лицензией.
Что вы, ребята, можете рекомендовать для использования с Java?
Только требование должно быть открытым исходным кодом или не слишком дорогостоящей академической лицензией.
VisualVM, который поставляется с jdk6, имеет базовый профайлер внутри него. VisualVM поставляется с jdk, поэтому, если у вас установлен jdk6, вероятно, он также будет установлен.
у вас есть список здесь (перечисление их ниже, в случае, если ссылка повреждена)
- JMemProf
- JMP
- DrMem
- JTreeProfiler
- Профилировщик NetBeans
- API JAMon
- JBoss Profiler
- MessAdmin
- инфракрасный
- TomcatProbe
- Java Interactive Profiler (JIP)
- Profiler4j
- Секундомер
- JMeasurement
- DJProf
- TIJmp
- Allmon
- AppSpy
- EurekaJ
- Джепекс
- Профилировщик OKTECH
- Perf4j
Ах. Netbeans Profiler, победитель конкурса "Продукт года" в 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()
Здесь статья о Профилирование Java-приложений с использованием TPTP и здесь учебник Профилирование приложений на основе J2SE 5.0 с использованием Eclipse TPTP.
Если вы ищете без излишеств, простой в использовании профилировщик с открытым исходным кодом, вы можете взглянуть на Jip (Java Interactive Profiler). Он опубликован под лицензией BSD. Я нашел, что это очень полезно для небольших программ. По крайней мере, результаты, которые он дает, легче понять, чем вывод hprofs.
Java Mission Control, он может свободно использоваться для разработки и интегрируется с Eclipse. Он имеет очень низкие накладные расходы (<1%), поскольку он копирует данные, собираемые JVM.
Он очень прост в использовании и может также предоставить много информации, которую вы обычно не найдете в других инструментах профилирования, например, профилирование латентности, проверка в режиме онлайн-памяти, подробная статистика gc
NetBeans IDE включает бесплатный профайлер.
Кроме того, если я правильно помню, академическая лицензия для JProfiler (относительно) недорогая.
JVM Monitor - это профилировщик Java, интегрированный с Eclipse для мониторинга использования процессоров, потоков и памяти приложений Java.
Если необходим дальнейший глубокий анализ, вы можете использовать другие инструменты (например, TPTP, Memory Analyzer) в качестве следующего шага.
Рассмотрим передовые https://github.com/jvm-profiling-tools/async-profiler
Этот проект является профилировщиком выборки с низкими издержками для Java, который не страдает от проблемы смещения Safepoint. Он имеет специфичные для HotSpot API-интерфейсы для сбора следов стека и отслеживания распределения памяти. Профилировщик работает с OpenJDK, Oracle JDK и другими средами исполнения Java на основе HotSpot JVM.
Он также встроен в IntelliJ IDEA Ultimate: https://www.jetbrains.com/help/idea/cpu-profiler.html.
Также есть похожие https://github.com/jvm-profiling-tools/honest-profiler.
Сравнение между async-profiler
и honest-profiler
: https://github.com/jvm-profiling-tools/async-profiler/issues/77