2

我的基于 Web 的 Java EE 应用程序基于以下技术:

  • 框架:Struts 2.0
  • 服务器:Tomcat 6.0
  • 前端 UI:JSP、JSTL/Struts 标签、HTML
  • 数据库:Microsoft SQL Server 9.00.2047.00
  • 语言:核心 java、XML、XSLT。

现在我面临的问题是我的 Web 应用程序的某些进程会消耗更多的 CPU 使用率。有时我的 Tomcat 服务器会使用 100% cpu;这就是我的电脑挂起的原因。我无法确定哪个进程会导致 100% 的 CPU 使用率。

现在,我正在寻找任何第三方应用程序或任何实用程序,它可以为我提供 CPU 使用信息详细信息以及在 Tomcat 中运行的正在运行的进程(服务)的名称。

4

1 回答 1

3

听起来您正在寻找 Java Profiler...我听说过有关 HPROF 的好消息(需要一点时间来适应,但应该提供您需要的所有信息(而且它是免费的)。这里有一些关于Sun提供的HPROF。

http://java.sun.com/developer/technicalArticles/Programming/HPROF.html

我没有亲自在服务器上运行它,但我有同事必须识别非常像你的问题 - 它应该给你你需要的东西。

还要记住,观察过程会改变过程的性能——所以这不是在生产中运行的东西。见观察者效应

于 2012-07-13T06:22:03.897 回答