Подтвердить что ты не робот

Инструмент Java Profiler для Mac OS X

Я разрабатываю приложение Java и J2EE Webapp, используя Eclipse Europa в Mac OS X 10.5.8. Webapp предоставляет уровень API RESTful для приложения Java, которое я написал. Я запускаю webapp с помощью tomcat из Eclipse.

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

  • TPTP, поставляется с Eclipse: известная ошибка предотвращает запуск профайлера на Mac: (
  • JProfiler: не имеет версии для Mac
  • Profiler4J: Установил его, но не смог заставить его работать.
  • Shark: поставляется с MacOSX, но когда я выбираю "Java Time Profile" и запускаю мой webapp, он не позволяет мне выбирать какие-либо процессы для профиля
  • Другие инструменты, на которые я смотрел, стоят много $$, и это проект с открытым исходным кодом.

Я просмотрел этот список: здесь, но есть слишком много вариантов и слишком мало времени, чтобы пройти через них ВСЕ!!

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

Спасибо большое, ребята, Али

4b9b3361

Ответ 1

Возможно, вы могли бы дать VisualVM попробовать, если Java 6 является опцией. Этот приятный Настройка Sun VisualVM на Mac OSX в блоге объясняется, как заставить его работать на Mac OSX.Забастовкa >

Или получите лицензию с открытым исходным кодом для Yourkit, которая действительно очень хороший инструмент как Malaxeur.

Ответ 2

Я использую JProfiler в Mac OS X, и я очень доволен этим. Я не знаю, почему вы написали, что он не поддерживает OS X, у них даже есть загрузка DMG на их сайте. Это дорогая часть программного обеспечения - я бы предложил связаться с их продажами. Большинство компаний рады предоставить лицензии на проекты с открытым исходным кодом.

Акула - старый инструмент. Последний XCode поставляется с инструментами. Великолепно разработанное профилирующее приложение на основе DTrace. Он может профилировать приложение Java, но вы не приблизитесь к уровню деталей, который вы получите с инструментами, созданными для инструмента Java.

Другой вариант - использовать TPTP. Плагин Eclipse работает на OS X, но контроллер агента не работает. Вы можете запустить виртуальный Linux (я использую VMWare Fusion, но вы можете использовать альтернативу FOSS, Virtualbox) и запускать Tomcat. Вы можете подключить TPTP к OS X и профилировать приложение, запущенное в ящике Linux.

Ответ 3

Я бы порекомендовал Yourkit. Это, безусловно, лучший профайлер Java, который я использовал (хотя и несколько дорогостоящий).

http://www.yourkit.com/

Хотя это стоит денег, вы можете получить пробные лицензии.

Изменить: похоже, что они предлагают лицензию Open Source (бесплатно). Если вы можете получить его, перейдите к нему: http://www.yourkit.com/purchase/index.jsp

Ответ 4

Помните, что Shark не работает с Java, работающей в 64-разрядном режиме. С OS X 10.6 java работает по умолчанию в 64-битной версии. Если вы дадите java флаг "-d32", когда он запустится, он будет работать в 32-битном режиме. Объедините это с флагом "-agentlib: Shark", а затем запустите Shark. Теперь вы должны иметь возможность профилировать свою Java-программу, используя OS X 10.6 и Shark. Если профилирование Java в 32-битном режиме приемлемо, то это может вам пригодиться.

Ответ 5

Я не уверен, как трудно было бы запустить проект под Netbeans... но если вы можете сделать это без особых проблем, то профилировщик должен работать без проблем.

VisualVM и Yourkit, как отмечают другие здесь, также хороши.