दिलचस्प पोस्ट
स्थानीय लोगों के साथ कैसे काम करता है? एनएसआईजेज से पीएनजी फाइल को कैसे बचाएं (रेटिना के मुद्दे) PHP में बड़ी संख्या में कार्य करना Angularjs अपलोड करने से पहले छवि का पूर्वावलोकन करें जावा में, मैं एक व्युत्पन्न वर्ग में ओवरराइडिंग विधि से बेस क्लास की विधि को कैसे कॉल करूं? जावा का उपयोग कर सेलेनियम वेबड्राइवर में iframe को कैसे प्रबंधित करें आप असिंकटस्क के लिए कई आदिम मापदंडों को कैसे पारित कर सकते हैं? सीएसएस फ्लोट में निम्न डिवी की चौड़ाई क्यों नहीं बदलती है? कैसे शुरू करने के लिए 'const std :: vector <T>' एसी सरणी की तरह हैहेड पासवर्ड फ़ील्ड और किस लंबाई के लिए उपयोग किया जाने वाला डेटा प्रकार? धागा में थ्रेड स्टार्ट विधि के लिए पैरामीटर कैसे पारित करें? ऐप स्टोर पर आवेदन के लिए कोई मान्य 'एपीएस-पर्यावरण' एंटाइटलमेंट स्ट्रिंग नहीं मिला तालिका के केवल एक क्षेत्र के आधार पर Linq में अलग क्या एंड्रॉइड 3.0 में सिस्टम बार को छिपाने का एक तरीका है? यह एक आंतरिक डिवाइस है और मैं नेविगेशन का प्रबंधन कर रहा हूं खंड और टुकड़ा गतिविधि के बीच का अंतर

.NET मेमोरी प्रोफाइलिंग उपकरण

संभव डुप्लिकेट:
कुछ अच्छे एनएटी प्रोफाइलर्स क्या हैं?

मैं अच्छे। नेट सीएलआर मेमोरी प्रोफाइलिंग टूल की तलाश में हूं।

मेरी मुख्य आवश्यकता यह है कि यह IIS और स्टैंडअलोन सीएलआर Apps के साथ अच्छा खेलेंगी। आदर्श रूप में मैं देखता हूं कि ऑब्जेक्ट कैसे आवंटित किए जाते हैं, जहां उन्हें आवंटित किया जाता है और वे किस आकार का हैं?

क्या किसी के पास किसी विशेष टूल के साथ कोई अच्छा अनुभव है जिसे आप अनुशंसा करेंगे?

वेब के समाधान से एकत्रित समाधान ".NET मेमोरी प्रोफाइलिंग उपकरण"

मैं वर्तमान में Scitech .NET मेमोरी प्रोफाइलर 3.1 और एएनटीएस मेमोरी प्रोफाइलर दोनों का मूल्यांकन कर रहा हूं। मैंने एक वर्ष या दो साल पहले JetBrains की कोशिश की थी और यह उतना ही अच्छा नहीं था जितना कि एंट्स, इसलिए मैंने इस बार परेशान नहीं किया। वेब साइटों को पढ़ने से ऐसा लगता है कि यह दो अन्य के रूप में मेमोरी प्रोफाइलिंग के लिए उतना अच्छा नहीं है

दोनों एएनएनएस और स्काईचैक मेमोरी प्रोफ़ाइलर में ऐसी विशेषताएं हैं जो दूसरे नहीं हैं, इसलिए सबसे अच्छा जो आपकी वरीयताओं पर निर्भर करेगा। आम तौर पर बोलते हुए, Scitech एक अधिक विस्तृत जानकारी प्रदान करता है जबकि एएनएनएस एक लीक ऑब्जेक्ट की पहचान करने में वास्तव में अविश्वसनीय है। कुल मिलाकर, मैं अंगों को पसंद करता हूं क्योंकि यह संभव लीक की पहचान करने में इतनी जल्दी है।

मेरे अनुभव से प्रत्येक के पेशेवरों और विपक्ष मुख्य हैं:

एनएनटीएस और स्केचैक की सामान्य विशेषताएं। नेट मेमोरी प्रोफाइलर

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

चींटियों

  • आम लीक को खोजने के लिए फिल्टर पर एक-क्लिक करें : ऑब्जेक्ट केवल ईवेंट हैंडलर, ऑब्जेक्ट जो कि निपटाए जाते हैं, लेकिन अभी भी जीवित रहते हैं और ऑब्जेक्ट्स को जीवित रखे जाते हैं जिन्हें केवल एक डिस्क्स्ड ऑब्जेक्ट के संदर्भ से जीवित रखा जाता है यह संभवतः एंटीएस की हत्यारा विशेषता है – इस वजह से लीक का पता लगाना तेजी से तेज है। मेरे अनुभव में, अधिकांश लीक ईवेंट हैंडलर के कारण नहीं होते हैं, और एंटीएस आपको सीधे इन वस्तुओं पर ले जाता है। बहुत बढ़िया।
  • वस्तु प्रतिधारण ग्राफ जबकि एक ही जानकारी स्काईटेक में उपलब्ध है, जबकि एएनएनटीएस में व्याख्या करना बहुत आसान है।
  • वस्तु के आकार के अलावा बच्चों के साथ आकार दिखाता है (लेकिन केवल जब एक उदाहरण दुर्भाग्य से चयनित होता है, समग्र श्रेणी की सूची में नहीं)।
  • दृश्य स्टूडियो के लिए बेहतर एकीकरण (फ़ाइल पर जाने के लिए ग्राफ पर राइट-क्लिक करें)

स्काईटेक। नेट मेमोरी प्रोफाइलर

  • ऑब्जेक्ट आवंटित किया गया था जब स्टैक ट्रेस दिखाता है ये विभिन्न वस्तुओं में आवंटित वस्तुओं के लिए वास्तव में उपयोगी है। चींटियों के साथ यह तय करना मुश्किल है कि लीक ऑब्जेक्ट कहाँ बनाया गया था।
  • डिस्पोजेबल ऑब्जेक्ट्स की संख्या दर्शाती है जो का निपटान नहीं किया गया था। एक रिसाव का संकेत नहीं करते समय, यह इस समस्या को ठीक करने और तेजी से कूड़ा संग्रह के परिणामस्वरूप आपके एप्लिकेशन के प्रदर्शन को बेहतर बनाने के अवसरों की पहचान करता है।
  • अधिक विस्तृत फ़िल्टरिंग विकल्प (कई कॉलम स्वतंत्र रूप से फ़िल्टर किए जा सकते हैं)
  • बनाई गई कुल वस्तुओं की जानकारी प्रस्तुत करता है (उन कचरा एकत्र किए गए सहित)। एंटी केवल 'लाइव' ऑब्जेक्ट आँकड़े दिखाते हैं यह समग्र अनुप्रयोग प्रदर्शन का विश्लेषण और ट्यून करने में आसान बनाता है (जैसे। पहचानें कि ऑब्जेक्ट के बहुत से जो अनावश्यक रूप से बनाया जा रहा है जो कि आवश्यक रूप से लीक नहीं हो रहा है)।

संक्षेप के अनुसार, मुझे लगता है कि एएनएनएस आपको यह पता लगाने में मदद करता है कि जब आप जानते हैं कि सिकैटेक आपके समग्र अनुप्रयोग स्मृति प्रदर्शन और व्यक्तिगत वस्तुओं के बारे में थोड़ी अधिक जानकारी प्रदान करते हैं, तो क्या तेजी से लीक हो रहा है (जैसे। सृजन पर स्टैक ट्रेस)। अगर स्टिक ट्रेस और डिस्क्स्डबल ऑब्जेक्ट्स का नुकीला ट्रैकिंग एएनएनएस में जोड़ा गया तो मुझे कुछ और उपयोग करने की आवश्यकता नहीं दिखाई देगी।

अजीब है कि सीएलआर प्रोफाइलर का यहां उल्लेख नहीं है। यह मुफ़्त है और अच्छी तरह से काम करता है

माइक्रोसॉफ्ट की अपनी साइट से उपलब्ध कई पुराने संस्करणों से सावधान रहें। नवंबर 2011 के अनुसार, नवीनतम संस्करण यह प्रतीत होता है: नवीनतम संस्करण (वैकल्पिक लिंक)

यदि आप वास्तव में हताश महसूस कर रहे हैं, तो आप नेट -स्ट्रीक लाइब्रेरी (एसओएस। डीएलएल) के साथ WinDbg का उपयोग कर सकते हैं जो नेट ढांचे के साथ चलता है।

JetBrains Profiler खुद का बड़ा प्रशंसक

.Net मेमोरी प्रोफाइलर ने मेरी पिछले परियोजना पर बहुत मदद की। यह मुफ़्त नहीं है लेकिन यह बहुत अच्छा है।

.NET मेमोरी प्रोफाइलर स्मृति लीक को खोजने और सी #, वीबी। नेट या किसी अन्य .NET भाषा में लिखे गए प्रोग्रामों में स्मृति उपयोग को अनुकूलित करने के लिए एक शक्तिशाली उपकरण है।

मैं दूसरा एंटी प्रोफाइलर

आपकी ज़रूरत को दिखाने के अलावा, यह सरल ग्राफ को आकर्षित करेगा जहां आप देख सकते हैं कि क्या निष्पादित करने के लिए सबसे अधिक समय लगता है, और स्मृति क्या खाती है जब आप ग्राफ़फ़ पर क्लिक करते हैं तो यह आपको आपके कोड में सहसंबद्ध पंक्ति दिखाएगा।

और मुझे लगता है कि लिटिल प्रगति बार कोड लाइनों पर डूब गए जो निष्पादित करने में बहुत अधिक समय लगे।

मैं वर्तमान में एएनएनएस प्रोफाइलर का उपयोग कर रहा हूँ कई प्रोफाइलिंग विकल्पों के साथ यह एक बहुत अच्छा उपकरण है और स्टैंडअलोन एप्लीकेशन, डेवलपमेंट सर्वर और आईआईएस के साथ अच्छा खेलता है।

चूंकि हर कोई उपलब्ध टूल सूचीबद्ध करता है, मुझे लगता है कि मैं आपको .NET के लिए प्रोफेयरों की पूरी सूची में बताता हूं: http://sharptoolbox.com/categories/profilers-debuggers

आप यहां सुझाए गए औजार और सभी अन्य लोगों को ढूंढेंगे, जिनमें से प्रत्येक का संक्षिप्त विवरण होगा जो इसके प्रस्ताव का है।

मैंने कई वर्षों से बड़ी सफलता के साथ अकईटा का उपयोग किया है मैंने एंटी और अन्य लोगों की कोशिश की लेकिन अकमय पर वापस चला गया क्योंकि मैं अप्रबंधित कोड में बहुत विकास भी करता हूं।