调试器未连接时jvmti的性能影响?

时间:2009-04-29 14:26:04

标签: java performance debugging

我们最近推出了一个Web应用程序(tomcat 5.5.x Web应用程序)投入生产,它今天开始表现出奇怪的行为。我们在任何开发或预生产环境中都没有看到这种行为。

我们在运行时对生产系统的唯一看法是记录。虽然他们可以告诉我们发生了什么,但他们无法真正帮助我们诊断它为什么会发生。

我们不得不在昨天两次重新加载上下文以解决问题。

我正在考虑使用jpda active启动生产tomcat服务器。如果问题再次发生(从服务用户请求的服务器池中删除tomcat之后),这将允许我将调试器连接到应用程序。

当连接调试器时,您显然会使用jpda支付性能损失。但是,我想知道调试器未连接时的“成本”是多少?我怀疑与“监听”调试器相关的开销可能非常小。在我花了几个小时进行性能测量之前,我曾希望有人能指出我可能会澄清这些内容的文档吗?

java版“1.5.0_17” Java(TM)2运行时环境,标准版(版本1.5.0_17-b04) Java HotSpot(TM)64位服务器VM(版本1.5.0_17-b04,混合模式)

on RHEL 5.3

谢谢!

卡洛斯

1 个答案:

答案 0 :(得分:1)

我没有定量答案,但性能影响非常小;它在架构上与DTrace非常相似,基本上如果你没有连接外部工具并激活事件,测试点必须做很少的工作;对于非活动的事件类,它们也很少工作。