Mac OS X上的Java Profiler工具

时间:2009-11-02 02:58:36

标签: java macos profiler

我正在使用Mac OS X 10.5.8上的Eclipse Europa开发Java应用程序和J2EE webapp。 webapp为我编写的Java应用程序提供RESTful API层。我正在使用Eclipse内部的tomcat运行webapp。

似乎存在一些严重的性能问题,我想使用分析器来缩小这些问题,但我找不到任何合适的工作方式。我查看了以下选项:

  • TPTP,随Eclipse一起提供:一个已知错误会阻止探测器在Mac上运行:(
  • JProfiler:没有Mac版
  • Profiler4J:已安装,但无法使其正常工作
  • Shark:附带MacOSX,但当我选择“Java Time Profile”并运行我的webapp时,它不允许我选择任何进程来分析
  • 我看过的其他工具花了很多钱,这是一个开源项目

我查看了这个列表: here 但是有太多的选择和太少的时间来完成它们所有!!

根据我的环境,有没有人知道一个易于使用的可视化Java分析器,它实际上可以在Mac上运行?我很想听听你的建议。

非常感谢你们, 阿里

5 个答案:

答案 0 :(得分:11)

如果Java 6是一个选项,也许你可以试试VisualVM。这篇不错的Setting up Sun's VisualVM on Mac OSX博客文章解释了如何让它在Mac OSX上运行。

或者获取Yourkit的开源许可证,这确实是Malaxeur指出的非常好的工具。

答案 1 :(得分:5)

我在Mac OS X上使用JProfiler,我对它非常满意。我不知道你为什么写它不支持OS X,他们甚至在他们的网站上有一个DMG下载。这是一个昂贵的软件 - 我建议联系他们的销售。大多数公司都乐于向开源项目捐赠许可证。

鲨鱼是旧工具。最新的XCode附带仪器。基于DTrace的华丽设计的分析应用程序。它可以描述Java应用程序,但是你不会接近使用Java工具构建的工具的详细程度。

另一种选择是使用TPTP。 Eclipse插件适用于OS X,但代理控制器不适用。您可以运行虚拟化Linux(我使用VMWare Fusion,但您可以使用FOSS替代方案,Virtualbox)并在那里运行Tomcat。您可以在OS X上连接TPTP并分析在Linux机器上运行的应用程序。

答案 2 :(得分:4)

我推荐Yourkit。它是迄今为止我使用过的最好的Java分析器(虽然它有点贵)。

http://www.yourkit.com/

虽然需要花钱,但您可以获得试用许可证。

编辑:看起来他们提供开源许可证(免费)。如果你能得到它,那就去吧:http://www.yourkit.com/purchase/index.jsp

答案 3 :(得分:1)

请注意,Shark不适用于在64位模式下运行的Java。对于OS X 10.6,java默认以64位运行。如果在启动时给java“-d32”标志,它将以32位模式运行。将其与“-agentlib:Shark”标志相结合,然后启动Shark。您现在应该能够使用OS X 10.6和Shark来分析您的Java程序。如果可以接受以32位模式分析Java,那么这可能对您有用。

答案 4 :(得分:0)

我不确定让项目在Netbeans下工作有多难......但是如果你可以毫不费力地做到这一点,那么分析器应该没有问题。

VisualVM和Yourkit,正如其他人所指出的那样,也很好。