BTrace的开销是多少?

时间:2011-07-26 14:02:32

标签: java jvm tracing btrace

在BTrace文档中提到BTrace在空闲时几乎没有开销。这是否意味着BTrace仅具有开销,并且只有在满足某些探测并且正在处理它时?

此外,在处理Probe时,需要一些CPU来进行处理。但它是否会对JVM内存或任何其他可能影响原始JVM进程处理的事情产生影响?

1 个答案:

答案 0 :(得分:6)

BTrace添加的CPU开销如下:

  • 实际的探测代码
    • 在安全模式下,除了获取时间戳之外,您可能产生的开销很小 - 根据操作系统的不同,它可能非常缓慢。
    • 当使用不安全模式时,你可以自由地射击你的腿 - 开销将取决于你放在探测器处理器中的内容
  • JMX 处理(如果适用)(使用 @Property 带注释的属性)

在内存方面 BTrace 尽力避免任何开销。但是,如果您使用聚合,分析器或自定义集合,则内存占用量将相应地增加到您在那里存储的数据量。

此外, BTrace PermGen 提出了一些额外要求 - 过于频繁地重新定义类可能会导致permgen耗尽。