2009-07-22 6 views
9

मेरे तेंदुए प्रणाली dtrace में निर्माण किया है मैं भी जावा 6 स्थापित किया है, एप्पल के द्वारा उपलब्ध कराया इंस्टॉलर का उपयोग:।मैक ओएस एक्स तेंदुए पर डॉट्रेस में हॉटस्पॉट जांच का उपयोग कैसे करें?

$ sudo dtrace -l | grep spot 
$

कर सकते हैं: जब जांच लिस्टिंग

$ 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 कोई हॉटस्पॉट जांच से पता चलता किसी ने मुझे बताया कि जावा के लिए dtrace जांच को सक्षम करने के लिए (माना जाता है कि वे जावा 6 के साथ जहाज) तेंदुए में?

उत्तर

5

"हम्म, दिलचस्प मैं कर रहा हूँ। एक ही कॉन्फ़िगरेशन चला रहा है लेकिन मेरे लिए जांच दिखाई नहीं दे रही है। आप किस कमांड लाइन का उपयोग करते थे? इसके अलावा "सुडो dtrace -l | grep spot "?"

  • बस एक क्रॉस चेक। जब आप "sudo dtrace -l | grep spot" जारी करते हैं, तो उस समय आपके पास एक चल रहा जावा एप्लिकेशन होना चाहिए। केवल तब जांच सूचीबद्ध की जाएगी।
+0

नहीं, मेरे पास जावा चलाना नहीं था। वास्तव में यह अब काम कर रहा है। धन्यवाद! – user66237

+0

जांच को 'hotspot_jni5867' नाम दिया गया है, जिसका अर्थ है कि प्रक्रिया आईडी जांच नाम में शामिल है। प्रक्रिया शुरू होने पर जांच गतिशील रूप से बनाई जाती है। –

0

क्या आप वाकई ऐप्पल जेवीएम पर भी लागू होते हैं? जबकि जेडीके 6 के बारे में दस्तावेज़ में डीटीआरएस हुक का उल्लेख किया गया है, आप Non-standard Java HotSpot VM Options (जोर जोड़ा गया) पर भी देख सकते हैं:

-XX: -ExtendedDTraceProbes प्रदर्शन-प्रभावकारी dtrace जांच सक्षम करें।

नहीं

एक अच्छा संकेत है, तो इस मंच विशिष्ट है (सोलारिस केवल। को 6. प्रासंगिक में शुरू)। AFAIK ऐप्पल अपने स्वयं के कस्टम बनाया जेवीएम बनाता है।

+1

अच्छा बिंदु। वास्तव में लगता है कि केवल सूर्य के जेडीके का समर्थन करता है। ओपनजेडीके के पास योजनाबद्ध समर्थन है लेकिन अभी तक इसे लागू नहीं किया गया है। शायद ऐप्पल के कार्यान्वयन के लिए भी यही है। – user66237

1

मैं जावा 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

हम्म, दिलचस्प। मैं वही विन्यास चला रहा हूं लेकिन मेरे लिए जांच दिखाई नहीं दे रही है। आपने किस कमांड लाइन का उपयोग किया था? इसके अलावा "सुडो dtrace -l | grep spot"? – user66237

+0

'सूडो dtrace -l | grep हॉटस्पॉट 'यह करता है। –

संबंधित मुद्दे