【问题标题】:How to measure cpu over-head introduced by the hprof profiler attached to a jvm如何测量连接到 jvm 的 hprof 分析器引入的 cpu 开销
【发布时间】:2009-07-11 23:00:00
【问题描述】:

我正在使用选项 -XrunHprof:format=b 运行 IBM 的 jvm (jdk 5.0)

我知道使用 hprof 检测 jvm 会导致性能损失。我想量化这种惩罚。我知道这样做的一种方法是取消 hprof 分析并运行应用程序,并在两种情况下比较应用程序的 cpu 利用率。但我无法使用此选项

我有一个使用 hprof 检测的正在运行的应用程序。我需要找出 hprof 分析器本身消耗的 cpu 百分比。

【问题讨论】:

    标签: performance jvm profiling hprof


    【解决方案1】:

    我没有任何硬性数字,但我一直认为在 hprof 下运行比没有运行要慢 一个数量级(或两个)。这在很大程度上取决于您跟踪的内容:例如,较大的堆栈帧会增加开销。

    但无论如何,除了严格控制的测试环境之外,您绝对不希望在任何其他环境中运行它。

    【讨论】:

    • 是和否——这完全取决于测量是通过采样(快速)还是通过计数(慢速)进行的。采样通常会产生适度的开销(例如 +50% 的执行时间);计数可以有一个数量级(+500%)。至少这是我的经验。
    【解决方案2】:

    您实际上并没有说您遇到了要通过分析来解决的性能问题。但如果你这样做,you might try this.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-11
      • 2017-12-11
      • 1970-01-01
      • 2010-09-16
      • 2016-10-04
      • 2019-04-14
      • 2022-01-04
      相关资源
      最近更新 更多