ओपन सोर्स जावा प्रोफाइलर [बंद]


94

आप जावा के साथ किन लोगों को उपयोग करने की सलाह दे सकते हैं?

केवल आवश्यकता है यह खुला स्रोत होना चाहिए, या बहुत महंगा शैक्षणिक लाइसेंस नहीं होना चाहिए।


4
जब आप कहते हैं कि खुला स्रोत क्या आप स्वतंत्र मतलब है? उनके अलग-अलग अर्थ हैं। क्या आपका प्रश्न _inexpensive प्रोफाइलरों के बारे में है?
रॉबर्ट मंटीनू

3
आजादी के रूप में मुफ्त या मुफ्त के रूप में मुफ्त? ओह भ्रम!
तारास्की

जवाबों:


61

VisualVM जो कि jdk6 के साथ आता है, उसके अंदर एक बुनियादी प्रोफाइलर है। VisualVM को jdk के साथ प्रदान किया जाता है, इसलिए यदि आपके पास jdk6 स्थापित है, तो संभव है कि आपने इसे भी स्थापित किया हो।

https://visualvm.github.io/


3
VisualVM प्रोफाइलर नेटबीन्स में से एक का एक अकेला संस्करण है। यह एक बहुत अच्छी शुरुआत है।
थोरबजोरन रेव एंडरसन

2
निश्चित रूप से सबसे अद्यतन संस्करण को डाउनलोड करें: visualvm.dev.java.net । इसके अलावा: यह प्रोफाइलर नेटबीन्स का उपयोग करता है।
पीटरडक

मैंने VisualVMसफलता से पहले उपयोग किया है , लेकिन टॉमकैट ऐप को प्रोफाइल करने की कोशिश करते समय यह मेरे लिए दुर्घटनाग्रस्त था। इसने मेरे लिए काम किया: github.com/jvm-profiling-tools/honest-profiler
Lambart

21

आपको यहां एक सूची मिली है (उन्हें नीचे सूचीबद्ध करते हुए, इन-केस लिंक टूट जाता है)

  • JMemProf
  • जेएमपी
  • DrMem
  • JTreeProfiler
  • नेटबींस प्रोफाइलर
  • जमान एपीआई
  • JBoss प्रोफाइलर
  • MessAdmin
  • अवरक्त
  • TomcatProbe
  • जावा इंटरएक्टिव प्रोफाइलर (JIP)
  • Profiler4j
  • स्टॉपवॉच देखनी
  • JMeasurement
  • DJProf
  • TIJmp
  • Allmon
  • Appspy
  • EurekaJ
  • japex
  • ओकेटेक प्रोफाइलर
  • Perf4j

1
आप इसे सूची में जोड़ सकते हैं: github.com/jvm-profiling-tools/honest-profiler
Lambart


10

जावा में एक मूल है जिसे प्रोफाइलर में बनाया गया है जिसे HProf कहा जाता है । मैं इसे उन परिणामों की तुलना करने के लिए उपयोगी मानता हूं जो इसे पूरी तरह से सुविधाओं वाले प्रोफाइलर्स के परिणामों के साथ प्रदान करता है।


1
मैंने वर्षों से HPROF का उपयोग किया है - और जब तक यह सुंदर नहीं हो सकता है, इससे मुझे अनगिनत मेमोरी और प्रदर्शन समस्याओं को हल करने में मदद मिली है।
गंडालफ

1
HPROF अक्सर ऑप्टिमाइज़ करने के लिए अलग-अलग पॉइंट्स पाता है। मैं अक्सर आपका उपयोग करने के बाद YourKit अब मुझे अनुकूलन के लिए स्पष्ट अंक देता है।
पीटर लॉरी


5

ओपन-सोर्स टूल jvmtop में एक बुनियादी कंसोल प्रोफाइलर शामिल है। उदाहरण आउटपुट:

 JvmTop 0.7.0 alpha - 15:16:34,  amd64,  8 cpus, Linux 2.6.32-27, load avg 0.41
 http://code.google.com/p/jvmtop

 Profiling PID 24015: org.apache.catalina.startup.Bootstrap

  36.16% (    57.57s) hudson.model.AbstractBuild.calcChangeSet()
  30.36% (    48.33s) hudson.scm.SubversionChangeLogParser.parse()
   7.14% (    11.37s) org.kohsuke.stapler.jelly.JellyClassTearOff.parseScript()
   6.25% (     9.95s) net.sf.json.JSONObject.write()
   3.13% (     4.98s) ....kohsuke.stapler.jelly.CustomTagLibrary.loadJellyScri()

4

3
मैं कभी भी टीपीटीपी सेट नहीं कर पाया। शायद मैं भी इसका उपयोग करने के लिए गूंगा हूं।
क्वांट_देव

@quant_dev: मुझे भी यही समस्या हुई है, लेकिन किसी तरह से अचानक इसे स्थापित करने में कामयाब रहे (ग्रहण लग गया या जो भी हो?)। लेकिन जब मैंने इसका उपयोग किया तो यह लगभग बेकार हो गया, अविश्वसनीय रूप से धीमा था और उस बिंदु पर भूखा था जहां मैंने ग्रहण को मार दिया था। कुछ और उपयोगी विचार जिनका उल्लेख मैंने कई संदर्भों में ऑनलाइन पाया था, वे भी वर्तमान में मौजूद नहीं हैं जो कि ग्रहण 3.5 के साथ काम करता है। इसलिए फिलहाल यह मूल रूप से बेकार का एक बहुत बड़ा झटका है।
x4u

1
ग्रहण टीपीटीपी एक परिपक्व उत्पाद की तरह दिखता है लेकिन बेहद धीमा है। मुझे समझ नहीं आ रहा है ...
रोआल्ट

4
दुर्भाग्य से टीपीटीपी की अब अंतिम रिलीज (v4.7.2) हो गई है। इसे संग्रहीत किया गया है और यह अब एक साथ रिलीज़ होने वाले ग्रहण का हिस्सा नहीं है।
joelittlejohn

3

यदि आप नो-फ्रिल्स की तलाश में हैं, तो ओपन सोर्स प्रोफाइलर का उपयोग करना आसान है, आप जिप ( जावा इंटरएक्टिव प्रोफाइलर ) पर एक नज़र रखना चाह सकते हैं । यह बीएसडी लाइसेंस के तहत प्रकाशित होता है। मैंने पाया कि यह छोटे कार्यक्रमों के लिए काफी उपयोगी है। कम से कम, परिणाम यह देता है कि hprofs उत्पादन की तुलना में समझने में अधिक आसान है।


2

जावा मिशन नियंत्रण , यह विकास के लिए उपयोग करने के लिए स्वतंत्र है और यह ग्रहण के साथ एकीकृत होता है। यह बहुत कम ओवरहेड (<1%) है क्योंकि यह जेवीएम डेटा पर वैसे भी जमा हो रहा है।

इसका उपयोग करना बहुत आसान है और यह बहुत सी जानकारी भी दे सकता है जो आपको आमतौर पर अन्य प्रोफाइलिंग टूल में नहीं मिलेगी, जैसे विलंबता रूपरेखा, ऑनलाइन मेमोरी निरीक्षण, विस्तृत जीसी आँकड़े


1

यह त्वरित, गंदा और बहुत प्रभावी है: बस कुछ थ्रेड डंप लें, या प्रोग्राम को कई बार रोकें, और स्टैक के निशान को देखें।


1

अत्याधुनिक https://github.com/jvm-profiling-tools/async-profiler पर विचार करें

यह प्रोजेक्ट जावा के लिए एक कम ओवरहेड सैंपलिंग प्रोफाइलर है जो कि सेफेपॉइंट पूर्वाग्रह की समस्या से ग्रस्त नहीं है । यह स्टैक निशान को इकट्ठा करने और मेमोरी आवंटन को ट्रैक करने के लिए हॉटस्पॉट-विशिष्ट एपीआई की सुविधा देता है। प्रोफाइलर OpenJDK, Oracle JDK और हॉटस्पॉट JVM पर आधारित अन्य जावा रनटाइम के साथ काम करता है।

यह बिल्ट-इन इंटेलीजे आईडिया अल्टीमेट: https://www.jetbrains.com/help/idea/cpu-profiler.html भी है


इसी तरह के https://github.com/jvm-profiling-tools/honest-profiler भी है ।

async-profilerऔर के बीच की तुलना honest-profiler: https://github.com/jvm-profiling-tools/async-profiler/issues/77


Async-profiler पर अच्छा सचित्र लेख: hackernoon.com/…
Vadzim

0

नेटबीन्स आईडीई में एक नि: शुल्क प्रोफाइलर शामिल है।

इसके अलावा, अगर मुझे सही तरीके से याद है, तो JProfiler का शैक्षणिक लाइसेंस (अपेक्षाकृत) सस्ता है।


1
ओपी ने "बहुत महंगा शैक्षणिक लाइसेंस नहीं" के लिए कहा। JProfiler के लिए एक एकल शैक्षिक लाइसेंस अमेरिका $ 199 है
कोल्हू

1
उसने कुछ ऐसा मांगा जो खुला स्रोत था या जिसके पास एक सस्ती शैक्षणिक लाइसेंस था। मेरी राय में, यूएस $ 199 एक उपकरण के लिए काफी सस्ती है जिसकी कीमत सामान्य लाइसेंस के लिए $ 499 है।
पॉल मोरी

0

जेवीएम मॉनिटर एक जावा प्रोफाइलर है जिसे ग्रहण के साथ सीपीयू, थ्रेड और जावा अनुप्रयोगों के मेमोरी उपयोग की निगरानी के लिए एकीकृत किया गया है।

यदि आगे गहन विश्लेषण की आवश्यकता है, तो आप अगले चरण के रूप में अन्य उपकरणों (जैसे टीपीटीपी , मेमोरी विश्लेषक ) का उपयोग कर सकते हैं ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.