2012-12-11 96 views
2

我正在尝试使用VisualVM在我的Tomcat上运行我的Web应用程序。顺便说一句,我正在使用Eclipse IDE。有一件事我不明白,当我在Tomcat上启动我的Web应用程序时,然后开始分析内存使用情况,我只能从包org.apache。**中看到几个类。我想,当我查看Tomcat的执行日志时,有更多的类被实例化了。用visualvm分析Tomcat web应用程序

另外,我的Web应用程序实际上是使用Apache CXF前端开发的Web服务。在部署时,我可以从日志中看到Apache CXF的许多组件已经实例化。但是,我无法在分析结果中找到与CXF相关的任何类。

只有当我启动Web客户端发送请求并获取响应时,我才能在分析结果中看到许多与CXF相关的类。我怀疑应该在客户端请求之前为我的Web服务实例化对象。

对我来说,一切都很不清楚。非常感谢您的答案。

回答

2

如果您不知道哪部分代码很慢,最好从CPU采样开始。一旦你知道更好的(基于采样结果)发生了什么事情,你可以只分析一部分Tomcat服务器。请参阅Profiling With VisualVM, Part 1Profiling With VisualVM, Part 2以获取有关概要分析以及如何设置概要分析根和仪器过滤器的更多信息。