使用visualvm分析 jetty 非常慢

标签 profiling jetty visualvm

我有一个在 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

最佳答案

我建议先从 CPU 采样开始。一旦您知道出了什么问题,您就可以切换到分析以获取详细信息。请务必阅读Profiling With VisualVM, Part 1Profiling With VisualVM, Part 2获取有关如何设置 Jetty 服务器分析的更多信息。

关于使用visualvm分析 jetty 非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13119607/

相关文章:

java - VisualVM 堆大小不遵循已用大小

c++ - vector < boolean >访问

java - Servlet 分析

固定时间的 Haskell 分析

scala - 上传较大文件时出现内存不足错误

java - 如果 session 处于 Activity 状态,如何使该应用程序在浏览器重新启动后不要求我重新登录

java - 最新的 Java 分析器

java - 启动 Jetty 服务器时扫描条目 "module-info.class"时出错

java - 有没有办法在没有商业许可插件的情况下将 VisualVM 或任何免费/开源分析器集成到 Eclipse 中?

java - 比较 VisualVM 和 Eclipse TPTP