【问题标题】:JProfiler - losing results on JVM OOMJProfiler - 在 JVM OOM 上丢失结果
【发布时间】:2022-02-02 14:03:51
【问题描述】:

JVM退出时是否可以让JProfiler不丢失结果?我正在尝试分析 OOM,一旦 JVM 获得 OOM,分析器就会丢失所有数据。

【问题讨论】:

    标签: java jprofiler


    【解决方案1】:

    分析数据存在于在 JVM 进程内运行的分析代理中。如果该进程终止,则分析信息将消失。发生 OOME 时无法保存 JProfiler 快照。你可以做的事情是

    1. 通过

      -XX:+HeapDumpOnOutOfMemoryError
      

      JVM 的 VM 参数,以便在 OOME 发生时准确捕获 HPROF 堆快照。您可以在 JProfiler 中打开 HPROF 快照。

    2. 在 JProfiler 中添加“堆使用阈值触发器”并将阈值设置为 90% 之类的值。 JProfiler 快照将保存在该阈值,这应该允许您分析内存泄漏。

    【讨论】:

    • 我一直认为远程分析代理每隔一段时间就会发送数据,并且数据会在本地缓存 - 例如内存使用历史记录、cpu 使用情况等。完全消失真的很令人沮丧图形用户界面。我认为最好只通知连接丢失,但至少能够查看已填充的列表框和在客户端可见的图表。
    • 是的,一些数据(如遥测数据)在 UI 中,但大多数其他数据没有。很遗憾,我们不支持仅显示现有数据的断开连接状态。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-21
    • 2021-06-26
    • 1970-01-01
    • 2016-10-26
    相关资源
    最近更新 更多