2012-08-26 30 views
141

विजुअलVM में नमूनाकरण और प्रोफाइलिंग के लिए दो अलग-अलग टैब हैं। क्या कोई मुझे VisualVM में नमूनाकरण और प्रोफाइलिंग के बीच अंतर जानने में मदद कर सकता है?jVisualvm 0 नमूना और प्रोफाइलिंग के बीच अंतर

उत्तर

166

Sampling का मतलब है कि बहुत सारे थ्रेड डंप लेते हैं और स्टैक निशान का विश्लेषण करते हैं। यह आमतौर पर तेज़ होता है, आपके बाइटकोड में रनटाइम परिवर्तन की आवश्यकता नहीं होती है (जो इसे तोड़ सकता है), लेकिन यह भी कम सटीक है।

Profilinginstrumenting अपनी कक्षाओं और तरीकों, इसलिए वे "रिपोर्ट" जब भी वे चलाए जा रहे हैं इसका मतलब है। यह अधिक सटीक है, क्योंकि यह उपकरण पद्धति के प्रत्येक आमंत्रण की गणना करता है, न केवल डंप किए जाने पर पकड़े गए। हालांकि उपकरण का मतलब है कि आपके वर्गों का बाइटकोड बदल गया है, और यह आपके प्रोग्राम को तोड़ सकता है। असल में, इस कारण से, बड़े अनुप्रयोग सर्वर (जैसे जेबॉस, या वेबलोगिक) पर प्रोफाइलिंग का उपयोग करने से अक्सर सबकुछ मर जाता है या लटका होता है।

+2

क्या इसका मतलब यह होगा कि प्रोफाइलिंग नमूनाकरण से अधिक सटीक है, लेकिन इसमें अधिक संसाधन होंगे? – Parag

+0

हां, मैंने जवाब अपडेट किया है। – npe

+6

मैंने पाया है कि नमूनाकरण हर बार सटीक से अधिक है जब मैंने इसे खराब प्रदर्शन विधियों को इंगित करने के लिए उपयोग किया है। मैं व्यक्तिगत रूप से प्रोफाइलिंग का कभी भी उपयोग नहीं करता हूं। – Marquez