2009-07-22 45 views
9

我的Leopard系统已经DTrace的建于我也有安装了Java 6,使用苹果提供的安装程序:上市探头时如何在Mac OS X Leopard的dtrace中使用热点探测器?

$ java -version 
java version "1.6.0_13" 
Java(TM) SE Runtime Environment (build 1.6.0_13-b03-211) 
Java HotSpot(TM) 64-Bit Server VM (build 11.3-b02-83, mixed mode)

尽管如此,DTrace的显示无热点的探头:

$ sudo dtrace -l | grep spot 
$

灿任何人告诉我如何在Leopard中启用用于Java的dtrace探针(据推测它们随Java 6一起提供)?

回答

5

“嗯,有趣的我。运行相同的配置,但对我来说,探针不显示。你使用了什么命令行?还有“sudo dtrace -l | grep spot“?”

  • 只是一个交叉检查。当你发出“sudo dtrace -l | grep spot”时,你应该有一个正在运行的java应用程序。只有这样探针才会列出。
0

您确定这也适用于Apple JVM吗?尽管在关于JDK 6的文档中提到了DTrace挂钩,但您也可以在Non-standard Java HotSpot VM Options(已强调添加)中找到:

-XX:-ExtendedDTraceProbes启用对性能有影响的dtrace探测器。
(介绍了在6 有关仅限Solaris。

若这是特定于平台的一个好兆头。 AFAIK Apple构建自己的定制JVM。

+1

好点。看起来确实只有Sun的JDK支持dtrace。 OpenJDK支持计划但似乎尚未实现。 Apple的实施可能也是如此。 – user66237 2009-07-24 18:32:37

1

我运行雪豹的Java 1.6,我可以看到热点探头:

...

43223 hotspot_jni3644 libclient.dylib     jni_AllocObject AllocObject-entry 
43224 hotspot_jni3644 libclient.dylib     jni_AllocObject AllocObject-return 
43225 hotspot_jni3644 libclient.dylib   jni_AttachCurrentThread AttachCurrentThread-entry 
43226 hotspot_jni3644 libclient.dylib   jni_AttachCurrentThread AttachCurrentThread-return 
43227 hotspot_jni3644 libclient.dylib jni_AttachCurrentThreadAsDaemon AttachCurrentThreadAsDaemon-entry 
43228 hotspot_jni3644 libclient.dylib jni_AttachCurrentThreadAsDaemon AttachCurrentThreadAsDaemon-return 
43229 hotspot_jni3644 libclient.dylib    jni_CallBooleanMethod CallBooleanMethod-entry 
43230 hotspot_jni3644 libclient.dylib    jni_CallBooleanMethod CallBooleanMethod-return 

...

+0

嗯,有趣。我运行的是相同的配置,但对于我来说探头不显示。你使用了什么命令行?还有“sudo dtrace -l | grep spot”? – user66237 2009-09-07 07:11:05

+0

'sudo dtrace -l | grep热点“做到这一点。 – 2009-10-29 18:06:08

相关问题