BTrace 的开销是多少

发布于 2024-11-26 13:14:12 字数 150 浏览 1 评论 0原文

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

另外,当Probe被处理时,会占用一些CPU来进行处理。但它对 JVM 内存或任何其他可能影响原始 JVM 进程处理的东西是否有任何影响?

It is mentioned in BTrace docs that BTrace has almost no overhead when idle. Does that mean BTrace has overhead only and only when some probe is met and it is being processed?

Also, when the Probe is being processed, it would take some CPU to do the processing. But does it have any impact in the JVM memory or any other thing that could impact original JVM process processing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

若相惜即相离 2024-12-03 13:14:12

BTrace 添加的 CPU 开销如下:

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

在内存方面 BTrace< /strong> 尝试一下最好避免任何开销。但是,如果您使用聚合、分析器或自定义集合,内存占用量将根据您存储的数据量相应增加。

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

The CPU overhead BTrace adds is following:

  • the actual probe code
    • in safe mode the overhead you can incur is minimal with exception of getting timestamps - it can be really sluggish, depending on the OS)
    • when using the unsafe mode you are free to shoot your leg off - the overhead will depend on what you put in the probe handlers
  • JMX handling, if applicable (using a @Property annotated attribute)

In terms of memory BTrace tries its best to avoid any overhead. However, if you use aggregations, profiler or custom collections the memory footprint will grow accordingly to the amount of data you store there.

Also, BTrace puts some additional requirements on PermGen - redefining classes too often might lead to permgen depletion.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文