3

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

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

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

一切对我来说仍然很不清楚。非常感谢您的回答。

4

1 回答 1

3

最好从 CPU 采样开始,如果你不知道代码的哪一部分是慢的。一旦您更好地了解(基于采样结果)正在发生的事情,您就可以只分析您的 Tomcat 服务器的一部分。请参阅使用 VisualVM 进行分析,第 1 部分使用 VisualVM 进行分析,第 2 部分,以获取有关分析以及如何设置分析根和检测过滤器的更多信息。

于 2012-12-28T20:44:30.977 回答