2010-03-05 15 views
8

मैंने दो प्रोफाइलिंग टूल (सोलारिस पर विंडोज़ और डीबीएक्स (सनस्टूडियो के भीतर) पर वीट्यून का उपयोग किया है) जो उन्हें बिना पुनर्निर्माण के प्रोग्राम प्रोग्राम कर सकते हैं, और प्रोफाइलिंग के दौरान, कार्यक्रम सामान्य रूप से सामान्य गति के समान ही चलता है। इन दोनों सुविधाओं में से मुझे बहुत समय बचाया।पुनर्निर्माण के बिना लिनक्स मंच पर प्रोग्राम कैसे प्रोफाइल करें?

अब मैं जानना चाहता हूं कि लिनक्स प्लेटफ़ॉर्म पर कुछ निःशुल्क टूल उपलब्ध हैं या नहीं। मुझे लगता है कि नमूनाकरण के आधार पर मुझे प्रोफाइलिंग टूल की आवश्यकता है। VTune अच्छा लेकिन महंगा है ... मैंने gprof और valgrind के बारे में सुना है। लेकिन ऐसा लगता है कि जीप्रोफ को प्रोग्राम को प्रोग्राम की आवश्यकता है (इसलिए हमें प्रोग्राम को पुनर्निर्माण करना होगा) और वाल्ग्रिंड प्रोग्राम निष्पादन को बहुत धीमा कर देगा। (वालग्रिंड के परिचय से, कैशग्रींड सामान्य से 20--100x धीमी गति से प्रोग्राम चलाता है, और कॉलग्रिंड जिसे मुझे प्रोफाइलिंग की आवश्यकता है कैश्रिंड पर आधारित है)

प्रोफाइलिंग के लिए, मुझे केवल फ़ंक्शन कॉल के निष्पादन समय को समझने की आवश्यकता है, इसलिए मैं यह पता लगा सकता है कि प्रदर्शन में गिरावट कब होती है। असल में मुझे कई कम स्तर की प्रोफाइलिंग जानकारी की आवश्यकता नहीं है क्योंकि कैशग्रींड प्रदान किया गया है ...

उत्तर

5

oprofile बहुत अच्छा है, लेकिन इसे स्थापित करना मुश्किल हो सकता है। यह आपको अपने कार्यक्रम के पुनर्निर्माण की भी आवश्यकता नहीं है।

+0

हाँ ... ऐसा लगता है कि मुझे क्या चाहिए .. लेकिन मुझे लगता है कि इसे स्थापित करने के लिए रूट खाते की आवश्यकता है, है ना? – superb

+0

हां, इसे स्थापित करने के लिए रूट की आवश्यकता है। या सूडो, इस पर निर्भर करता है कि आपकी सूडो फाइल कैसे स्थापित की जाती है। मैं एक आभासी मशीन का उपयोग करने का सुझाव दूंगा, लेकिन वीएम में प्रोफाइलिंग करना एक बुरा विचार जैसा लगता है - एक वीएम के तहत चलने पर बाधाएं एक भौतिक मशीन पर चलने जैसी नहीं हो सकती हैं। मुझे उम्मीद है कि आपके सिस्टम पर जड़ है। – George

+0

समझ गया। Oprofiler के बारे में कुछ दस्तावेज़ पढ़ने के बाद मैं समझता हूं कि इसे कुछ हार्डवेयर काउंटर एकत्र करने के लिए कर्नेल की आवश्यकता है ताकि यह प्रोग्राम को तेजी से प्रोफाइल कर सके, इस प्रकार कॉन्फ़िगर करने के लिए रूट विशेषाधिकार की आवश्यकता होती है। जब मैं सार्वजनिक मशीन का उपयोग कर रहा था और प्रोफाइलिंग उस मशीन के प्रदर्शन को प्रभावित करेगी तो रूट पहुंच प्राप्त करना आसान नहीं हो सकता है। तो मुझे लगता है कि Valgrind शायद सबसे अच्छा विकल्प ... – superb

0

oprofile की तुलना में एक अच्छा विकल्प Zoom है। यह मैक ओएस एक्स पर Shark जैसा है, यदि आपने कभी इसका उपयोग किया है। यह वाणिज्यिक ($ 199) है लेकिन आप www.rotateright.com से निःशुल्क परीक्षण प्राप्त कर सकते हैं।

1

पॉल के साथ सहमत होने पर, मुझे लगता है कि ज़ूम शायद सबसे अच्छा लिनक्स प्रोफाइलर है जिसके लिए आप भुगतान कर सकते हैं।

हालांकि, real results के लिए, मैं this simple method पर भरोसा करता हूं, कि मैं प्रोफाइलर्स का आविष्कार करने से पहले उपयोग कर रहा हूं।

1

Performance Counters for Linux कर्नेल 2.6.31 और बाद में कर्नेल पर उपयोग करने योग्य एक नया टूल है; यह वाल्ग्रिंड या ओप्रोफाइल की तुलना में कम घुसपैठ (कार्यक्रम और सिस्टम दोनों के लिए) है।

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