gpt4 book ai didi

java - 如何在运行缓慢的基于 Java 的 Web 应用程序上强制执行堆转储,以便找出运行缓慢的位置?

转载 作者:行者123 更新时间:2023-12-01 23:46:41 24 4
gpt4 key购买 nike

我们目前使用 Atlassian Confluence v.3.5 的修改版本

并创建了一个包含大量页面(约5000个)和大量附件(约10000个)的空间。

当导航到这个大空间的主页时,大约需要 3 分钟才能完全加载(safari 网络浏览器显示一个旋转轮,表明页面资源仍在加载中)。

在这 3 分钟内,我们无法确定处理时间都花在了哪里。

我们打开了 confluence 的分析功能,但它没有帮助,因为日志文件中没有太多输出。

confluence 进程(这是一个 java 进程)在 3 分钟内使用了大约 8.2% 的 CPU。我怎样才能知道进程正在做什么?

最佳答案

You have all these options :

  1. HeapDumpOnCtrlBreak
  2. HeapDumpOnOutOfMemoryError
  3. Jmap
  4. HotSpotDiagnosticMXBean

A Thread Dump may also be useful.您可以使用它来确定线程正在等待什么。

您还可以使用分析器。我用过的最好的一个是 JProfiler 。但还有其他可用的免费和开源的。我认为 Netbeans 附带了一个。 Sun 制作了一个名为 VisualVM 的产品。 .

关于java - 如何在运行缓慢的基于 Java 的 Web 应用程序上强制执行堆转储,以便找出运行缓慢的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16928979/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com