gpt4 book ai didi

java - 为 spring boot 应用程序捕获 heapdump

转载 作者:行者123 更新时间:2023-11-29 04:10:08 25 4
gpt4 key购买 nike

我是堆分析的新手。我们一直在我们的 web 应用程序中使用 spring boot。最近堆使用率变得过高。为了使用 Mat 和 JProfiler 等工具分析堆转储,我使用 actuator 下载它,如下所示:

http://localhost:8080/actuator/heapdump

但是每次我进行堆转储时,堆使用率都变得很低。我怀疑可能是 GC 一直在踢。如果我错了,请纠正。所以我无法捕捉到实际情况。有没有办法在不触发 GC 的情况下进行堆转储?或者无论如何,只要堆使用量增加超过 500 MB,就会生成 heapdump。

最佳答案

您可以有一个 @Scheduled 任务来为您定期获取堆使用情况并生成 500 MB heapdump。您可以使用 ManagementFactory.getMemoryPoolMXBeans();,它显示了不同的堆区域及其用法。

要在外部执行此操作:

您可以使用 jstat 对堆使用情况进行外部监控。将其包装在一个脚本中,该脚本将分析 jstat -gc,然后使用 jmap 获取堆转储。

关于java - 为 spring boot 应用程序捕获 heapdump,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55532652/

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