6

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

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

4

1 回答 1

7

BTrace 增加的 CPU 开销如下:

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

在内存方面,BTrace尽力避免任何开销。但是,如果您使用聚合、分析器或自定义集合,内存占用量将根据您存储的数据量而增长。

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

于 2011-07-26T18:50:40.930 回答