2009-07-22 21 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

相關問題