簡體   English   中英

如何在Mac OS X Leopard上的dtrace中使用熱點探針?

[英]How to use hotspot probes in dtrace on Mac OS X Leopard?

我的Leopard系統內置了dtrace。我還安裝了Java 6,使用Apple提供的安裝程序:

$ 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一起提供)?

“嗯,有趣。我正在運行相同的配置,但對我來說,探針沒有出現。你使用了什么命令行?還有”sudo dtrace -l | grep spot“?”

  • 只需一次交叉檢查。 當你發出“sudo dtrace -l | grep spot”時,你應該有一個正在運行的java應用程序。 只有這樣才會列出探針。

我正在使用Java 1.6運行Snow Leopard,我可以看到熱點探測器:

...

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

...

您確定這也適用於Apple JVM嗎? 雖然有關JDK 6的文檔中提到了DTrace掛鈎,但您也可以在非標准Java HotSpot VM選項中找到 (重點已添加):

-XX:-ExtendedDTraceProbes啟用影響性能的dtrace探測器。
僅在Solaris中引入。 僅與Solaris相關。

如果這是特定於平台的,則不是一個好兆頭。 AFAIK Apple構建自己的定制JVM。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM