在Mac OS X上使用Java Profiler工具

22

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

似乎存在一些严重的性能问题,我想使用分析器来缩小这些问题的范围,但是我没有找到任何好用的工具。我已经查看了以下选项:

  • TPTP:随Eclipse一起发布,已知的错误会导致分析器无法在Mac上运行 :(
  • JProfiler:没有Mac版本
  • Profiler4J:已安装,但无法使其运作
  • Shark:随MacOSX一起发布,但当我选择"Java时间分析"并运行我的Web应用程序时,它不允许我选择任何要分析的进程
  • 其他我看过的工具价格昂贵,而我正在进行一个开源项目

我已经查看了这个列表: 这里 但是有太多选择,时间又太少,无法全部研究!

有没有人知道一个易于使用的视觉化Java分析器,在我的环境下实际可用于Mac?我很想听听你们的建议。

非常感谢大家,

Ali

5个回答

12

我曾经遇到过同样的问题。现在,将近一年后,VisualVM推出了一个dmg/.app和Eclipse插件版本,并且是免费的!这是在Mac上进行性能分析的最佳方式。我也尝试过TPTP(它没有完全实现)和Shark(只能使用-d32),但都不如VisualVM好用。 - roesslerj
2
VisualVM在10.6下出现在/ Developer / Applications / Utilities中(可能需要安装XCode) - Thorbjørn Ravn Andersen
如果你在安装本地分析的VisualVM时遇到问题,请参考 Profiling Tomcat with VisualVM on Mac OS X - Yuriy Nemtsov
1
在更新到“Java for Mac OS X 10.6 Update 11”(JRE 1.6.0_37)后,**/Developer/Applications/Utilities/Java VisualVM.app无法启动。解决方法:从visualvm.java.net下载VisualVM.app**。 - Mat Gessel
你是否有第一对链接的替代品? - Taryn

7
我正在Mac OS X上使用JProfiler,并且非常满意。我不知道为什么你写它不支持OS X,他们甚至在他们的网站上提供DMG下载。这是一款昂贵的软件-我建议联系他们的销售部门。大多数公司很乐意向开源项目捐赠许可证。
Shark是旧工具。最新的XCode带有Instruments。这是一个基于DTrace的设计精美的分析应用程序。它可以分析Java应用程序,但您无法获得使用专门为Java设计的工具所获得的详细信息。
另一个选择是使用TPTP。Eclipse插件可以在OS X上运行,但代理控制器不能运行。您可以运行虚拟化的Linux(我使用VMWare Fusion,但您可以使用FOSS替代方案Virtualbox),并在那里运行Tomcat。您可以连接OS X上的TPTP并对在Linux上运行的应用程序进行分析。

+1 for JProfiler。我也在Mac上使用它。 - Mark Bolusmjak

4
我会推荐使用Yourkit。它是我用过的最好的Java分析工具(虽然有些昂贵)。 http://www.yourkit.com/ 尽管需要花费一定费用,但你可以获得试用许可证。
编辑:看起来他们提供了一个开源许可证(免费)。如果你可以获得它,那就使用吧:http://www.yourkit.com/purchase/index.jsp

1

请注意,Shark不支持在Java以64位模式运行。在OS X 10.6中,默认情况下java以64位模式运行。如果您在启动时给java添加“-d32”标志,则它将以32位模式运行。将此与“-agentlib:Shark”标志结合使用,然后启动Shark。现在,您应该能够使用OS X 10.6和Shark对Java程序进行分析。如果接受在32位模式下分析Java,则这可能对您有用。


0

我不确定在Netbeans下让项目正常工作有多难...但如果你能轻松做到这一点,那么分析器应该可以无问题地工作。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接