【发布时间】:2011-08-23 14:13:20
【问题描述】:
正如我在 Performance drop after 5 days running web application, how to spot the bottleneck? 中发布的那样,我遇到了一个应用程序在运行一段时间后变慢的问题。
我让 VisualVM 运行并在不同时间之间制作了快照。现在应用程序真的很慢,但我不知道如何发现瓶颈。它们彼此之间没有太多区别,唯一增长一点的就是堆,它会在一段时间后成功地被垃圾回收。
谁能给我一些指点?
以下是快照(应用程序):
[1]http://www.2shared.com/file/W4XJ6HtE/application-1314108550032.html
[2]http://www.2shared.com/fadmin/22521338/f512f97e/application-1314097232727.apps.html
谢谢!
编辑:仔细观察,我注意到 CPU 甚至没有被太多使用......而且系统真的很慢!
【问题讨论】:
-
在第二个快照中(超过一个小时,而第一个仅超过 4 秒),CPU 上有一些负载,而 GC 几乎没有负载。如果 CPU 是瓶颈,您应该尝试分析导致此问题的方法。您也可以在 jvisualvm 中执行此操作。
-
应用在哪个应用服务器上运行?它是否在 Web 服务器前端之后?如果是,2如何连接(哪个模块)。
标签: java scala profiler visualvm