剖析java.util.concurrent锁 - 编程入门网
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的行为,比如,可以动态打开或者关闭追踪功能:
其中: 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.
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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |