2011-07-26 48 views
6

在BTrace文档中提到,BTrace在闲置时几乎没有开销。这是否意味着BTrace只有开销,并且只有当某个探测器被满足并且正在处理时?BTrace的开销是多少

此外,当探测器正在处理时,需要一些CPU来完成处理。但是它对JVM内存或其他可能影响原始JVM进程处理的事情是否有影响?

回答

6

的CPU开销BTrace在于增加了以下内容:

  • 实际探测代码
    • 在安全模式下,你可以承担的开销是最小的与得到的例外时间戳 - 那可真是迟钝,取决于操作系统)
    • 当使用不安全模式时,您可以自由拍摄您的腿 - 开销取决于您放入探针处理程序的内容
  • JMX处理,如果适用的话(使用@Property注解属性)

在存储器方面BTrace会尽可能避免任何开销。但是,如果您使用聚合,分析器或自定义集合,则内存占用量将随着您在那里存储的数据量而增长。

此外,BTrace穿PermGen的一些额外的要求 - 重新定义类往往可能导致PermGen的枯竭。

+0

在Java 8中如何与oracle进行比较?它没有烫发。所以少了一件让人担心的事情? – Jayan

相关问题