6

我发现DTrace很有趣,但我个人没有看到一个用例,它允许我获得不使用 DTrace 否则无论如何我都无法获得的信息。

因此,我想听听我忽略了什么。我可以在我的 vmware OpenIndiana build 148 上使用 DTrace 执行哪些操作,以在创建独立应用程序和 Java EE Web 应用程序(其中大多数使用套接字与遗留后端进行大量通信)时产生影响?

非平凡的 Dtrace 脚本非常受欢迎。

4

1 回答 1

6

我对 DTrace 有一些很好的经验。

我有一个客户端在运行 24x7 的生产服务器上运行我们的 Java 代码。我们在应用程序中遇到了一些性能问题。为了附加分析器而停止 JVM 是不可能的。此外,在相同负载下,我们的实验室中不存在这种行为。

我们使用 DTrace 和 JVM 相关的探针解决了这个问题,因为我可以将它附加到正在运行的 JVM 上,并且引入的开销很小(在 Netra T2000 SPARC 机器上为 1.3%)。

该方法的好处是所有调试都是通过拨号 (33kbps) 线路到客户实验室完成的。几乎不可能运行具有此约束的任何其他分析器/调试器(JDWP 对于此带宽非常冗长)。使用我的 DTrace 脚本,我只过滤了我感兴趣的内容。

有关一些提示,请参阅: http://java.dzone.com/articles/java-profiling-dtrace?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed: +javalobby /frontpage+(Javalobby+/+Java+Zone )

http://download.oracle.com/javase/6/docs/technotes/guides/vm/dtrace.html

我已经改编了这些脚本 http://blogs.oracle.com/ahl/date/20050418#dtracing_java

另一个大优点是可以轻松用于创建自定义统计信息的聚合值。

但是,如果您有适当的条件,使用其他工具可以更轻松地完成所有工作。DTrace 非常强大,但它针对更多裸机条件(也许 DLight 项目会有所帮助)。

于 2011-03-08T19:26:37.987 回答