2009-11-02 20 views
21

Mac OS X 10.5.8でEclipse Europaを使用してJavaアプリケーションとJ2EE Webアプリケーションの両方を開発しています。 webappは、私が作成したJavaアプリケーション用のRESTful APIレイヤーを提供します。 Eclipseの中からTomcatを使ってwebappを実行しています。Mac OS X上のJavaプロファイラツール

重大なパフォーマンス上の問題があり、これらの問題を絞り込むためにプロファイラを使用したいと思っていますが、うまく動作するものは何も見つかりませんでした。私は、次のオプションを見てきた:

  • TPTP、船をEclipseので:既知のバグは、Mac :(
  • JProfilerを上で実行されているからプロファイラを防ぐ:Mac版
  • Profiler4Jを持っていません。インストールしても動作しませんでした
  • Shark:MacOSXに付属していますが、「Java Time Profile」を選択してwebappを実行すると、プロファイルするプロセスを選択することができません
  • その他私が見たツールは$$が多く、これはオープンソースのプロジェクトです

私はこのリストを見てきました: hereしかし、あまりにも多くの選択肢があり、それらを通過するには余りにも時間がかかります。

私の環境で、Macで実際に動作する使いやすいビジュアルJavaプロファイラを知っている人はいますか?私はあなたの提案を聞くのが大好きです。

おかげでたくさんの男、 アリ

答えて

11

Java 6がオプションの場合は、おそらく VisualVMを試すことができます。この素敵な Setting up Sun's VisualVM on Mac OSXブログ記事は、Mac OSX上で動作させる方法を説明しています。

Yourkitのオープンソースライセンスを取得してください。実際には、Malaxeurという非常に優れたツールです。

+0

私は同じ問題を抱えていました。ほぼ1年後、VisualVMはdmg/.appとEclipse-Pluginを提供します。そして、無料です!絶対にMacでプロファイリングを行う方法。 – roesslerj

+2

VisualVMは10.6より下の/ Developer/Applications/Utilitiesに表示されます(XCodeがインストールされている必要があります) –

+0

あなたが直面している場合はローカルプロファイリングのためにVisualVMを設定する際には、[Mac OS X上でVisualVMを使ってTomcatをプロファイリングする](http://mballantyne.blogspot.com/2011/05/profiling-tomcat-with-visualvm-on-mac.html)を見てください。 )。 –

4

私はYourkitをお勧めします。それは私が使用したJavaのプロファイラの中では最高のものです(それはやや高価ですが)。

http://www.yourkit.com/

、それはお金がかかりますが、トライアルライセンスを取得することができます。

編集:オープンソースライセンス(無料)を提供しているようです。あなたがそれを得ることができれば、それを手に入れてください:http://www.yourkit.com/purchase/index.jsp

0

Netbeansの下でプロジェクトを稼働させることがどれほど難しいのかよくわかりませんが、それでも問題がなければ、プロファイラは問題なく動作するはずです。

ここで他の人が指摘しているように、VisualVMとYourkitはどちらも優れています。

5

私はJProfilerをMac OS Xで使用しています。私はとても満足しています。なぜOS Xをサポートしていないと書いたのかわからない、彼らは自分のサイトでDMGのダウンロードをしている。それは高価なソフトウェアです - 私は彼らの販売に連絡することをお勧めします。ほとんどの企業はオープンソースプロジェクトにライセンスを寄付しています。

シャークは古いツールです。最新のXCodeにはInstrumentsが付属しています。 DTraceに基づいて豪華に設計されたプロファイリングアプリケーション。Javaアプリケーションをプロファイリングすることはできますが、Javaをインストールするために構築されたツールの詳細レベルには近づかないでしょう。

また、TPTPを使用することもできます。 EclipseプラグインはOS X上で動作しますが、エージェントコントローラは動作しません。仮想化されたLinuxを実行することができます(私はVMWare Fusionを使用しますが、FOSSの代わりにVirtualboxを使用できます)。そこにTomcatを実行します。 TPTPをOS Xに接続して、Linuxボックスで実行されているアプリケーションをプロファイルすることができます。

+0

+1のJProfiler。私はMacでもそれを使用しています。 – z5h

1

シャークは64ビットモードで動作するJavaでは動作しません。 OS X 10.6では、Javaはデフォルトで64ビットで動作します。起動時にjavaに "-d32"フラグを指定すると、32ビットモードで実行されます。これを "-agentlib:Shark"フラグと組み合わせて、Sharkを起動します。これでOS X 10.6とSharkを使ってJavaプログラムをプロファイリングできるはずです。 32ビットモードでJavaをプロファイリングするのが受け入れられるなら、これはあなたの役に立つかもしれません。