快速业务通道

剖析java.util.concurrent锁 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
y.impl.services.locks.LockSpace.unlockReference(LockSpace.java:275)

剖析java.util.concurrent锁(3)

时间:2010-11-03 infoq 译:齐尧

3.4. 在可视化分析器中打开追踪文件

可视化分析器,作为multicore SDK的一部分,提供了一些Eclipse视图,可以用表格和图表来显示jucprofiler文件。当前有两个视图,一个叫“J.U.C 统计”视图,另外一个叫“J.U.C 同步”视图。

“J.U.C 统计”视图如下所示。右边的两列是“竞争时间”和“竞争次数”。“申请栈”是关于JUC锁在申请的时候的调用位置。

“J.U.C 同步”视图如下所示。第一列是时间,表明什么时候锁出现了竞争。第二列是线程,表明锁竞争发生哪个线程。第三列是锁,表明那个JUC锁出现竞争了。最后一列是方法,表明锁竞争是在什么位置发生的。

3.5. 在线控制

在执行的过程中,jucprofiler会创建一个“控制服务器”监听2009端口。用户可以使用“控制客户端”连接这个端口,控制jucprofiler的行为,比如,可以动态打开或者关闭追踪功能:

$ java -cp BCIRuntime.jar com.ibm.msdk.bciruntime.control.ControlClient HOST -m [b|i] –b START -e END

其中:

HOST:“控制客户端”要去连接的主机名称,缺省是本机。

-m [b|i]: “控制客户端”执行的模式。- b是批处理模式、- i是交互模式。缺省是交互模式。

-b START:如果是批处理模式,START是开始剖析的时间。

-e END:END是剖析过程的持续时间。

3.5.1. 交互模式

有一个简单的shell,用户可以输入一些命令juc.on和juc.off来打开和关闭jucprofiler。比如,java -cp BCIRuntime.jar com.ibm.msdk.bciruntime.control.ControlClient, “控制客户端” 会连接到本机, 并且打开一个shell来控制jucprofiler.

$ java -cp BCIRuntime.jar com.ibm.msdk.bciruntime.control.ControlClient jucprofiler control> juc.on juc.on jucprofiler t control> start start jucprofiler control> stop stop jucprofiler control> juc.off juc.off jmit control> quit quit $ java -cp BCIRuntime.jar com.ibm.msdk.bciruntime.control.ControlClient localhost -m b -b 2 -e 10 Start tracing in 2 seconds Start tracing Stop tracing in 10 seconds Stop tracing quit

3.5.2. 批处理模式

jucprofiler也支持批处理模式。比如, java -cp BCIRuntime.jar com.ibm.msdk.bciruntime.control.ControlClient mtrat-test.dyndns.org -m b -b 10 -e 10, 意思是 “控制客户端”会连接到机器mtrat-test.dyndns.org,10秒后启动jucprofiler,然后10秒后停止 jucprofiler。

4. 结论

随着多核处理器成为主流,更多的并行/多线程Java程序将不断涌现。我们需要更好的工具去剖析这些并行程序。本文介绍的jucprofiler填补了Java性能分析工具中的一个重要缺口。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号