我有一些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项目会有所帮助).
归档时间: |
|
查看次数: |
1233 次 |
最近记录: |