我正在尝试使用VisualVM在64位虚拟机的Mac上进行性能分析,但没有成功。
它似乎只在很长的时间间隔内更新(我以为它根本不会更新,直到我离开键盘十分钟,回来发现一个更新。应该每2秒运行一次,我相信)。
大多数时候,它只是停留在“尚无分析信息可用”的消息中。在它工作的第一次,它发现总共有4个方法调用。在这段时间内可能会发生数百万次。
应用程序退出时的快照显示了一些系统线程,但没有我的代码。
我没有从默认设置中更改任何设置。我已经检查过它并不排除我的代码。
VisualVM能在Mac上用来分析64位的JVM吗?
我已经尝试过来自最新JDK的jvisualvm和来自java.net的稍高版本。
java版本"1.6.0_22“Java(TM) SE运行时环境(build 1.6.0_22-b04-307-10M3261) Java HotSpot(TM) 64位服务器VM (build 17.1-b03-307,混合模式)
系统版本: Mac OS X 10.6.4 (10F569)
有什么想法吗?它对你有效吗?
谢谢!
发布于 2010-11-05 07:01:17
飞行员的错误,一种。
我正在测试一个测试应用程序,它创建了一个线程,并在线程的run方法中循环旋转。它使用cpu、一个sleep()和一个println()进行了一个紧凑的循环。
但问题是,这一切都在一种方法中。当您退出方法时,VisualVM似乎只跟踪这些方法。因此,由于我有一个方法循环,它从未退出该方法,也从未生成跟踪事件。
我将run()方法中的代码移到了从run()中反复调用的另一个方法中,现在它可以工作了。
https://stackoverflow.com/questions/4100728
复制相似问题