我有一个在 Jetty 上运行的 wicket+spring+hibernate 应用程序。当我开始使用 VisualVM (jdk 1.7.0_9) 对其进行 CPU 分析时,它首先会因控制台打印而停止几分钟:
Profiler Agent: 250 classes cached.
Profiler Agent: 250 classes cached.
这些行重复了大约 20 次,然后 VisualVM 说它已经开始检测并检测了大约 8000 种方法。
现在,在此之后,我单击 Web 应用程序上的一个按钮,应用程序再次完全挂起几分钟,而控制台打印出如下行:
Profiler Agent: Redefining 100 classes at idx 100, out of total 336
在此之后,我得到了分析结果,但它们几乎没有用,因为几乎 99.6% 的时间都花在了
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run()
这使得 VisualVM 完全无法使用。任何猜测可能是这里的罪魁祸首?
我正在运行 Jetty 8.1.2.v20120308