मेरे पास रनटाइम पर एक स्थिर वस्तु है जो मूल रूप से अन्य वस्तुओं (इंट्स, स्ट्रिंग्स, डिक्शनरी, अन्य ऑब्जेक्ट्स इत्यादि) की एक सूची है। रनटाइम पर मेरी स्थिर "अन्य ऑब्जेक्ट्स की सूची" ऑब्जेक्ट द्वारा उपयोग की गई मेमोरी को निर्धारित करने का कोई तरीका है? यह उपकरण और रिपोर्टिंग उद्देश्यों के लिए आसान होगा।.NET में रनटाइम पर किसी ऑब्जेक्ट की मेमोरी पदचिह्न क्या है?
उत्तर
आप शायद कुछ ऐसा पूछ रहे हैं जिसे आप अपने कोड से कॉल कर सकते हैं (जिसे मैं भी जानना चाहता हूं), लेकिन मुझे लगा कि मुझे एंट्स प्रोफाइलर [http://www.red-gate.com/Products/ants_profiler/index.htm] का उल्लेख करना चाहिए यदि अन्य विशिष्ट के रूप में कुछ नहीं ढूंढ रहे हैं। यह आपको निष्पादित करते समय आपके कोड के बारे में सभी प्रकार की जानकारी बताएगा जिसमें कितनी मेमोरी का उपयोग किया जा रहा है।
अपनी वेबसाइट से ...
प्रोफ़ाइल स्मृति को समझने के लिए कैसे अपने आवेदन स्मृति का उपयोग करता है, और मेमोरी लीक का पता लगाने की। मेमोरी प्रोफाइलर आपको बिंदु पर अपने प्रोग्राम के निष्पादन में स्नैपशॉट लेने की अनुमति देता है, ताकि आप देख सकें कि उस बिंदु पर मेमोरी क्या है। कई बार पर कई स्नैपशॉट्स ले सकते हैं, जबकि आपका एप्लिकेशन चल रहा है, इसलिए आप एप्लिकेशन मेमोरी राज्यों की तुलना कर सकते हैं।
sizeof मूल्य प्रकार पर इस्तेमाल किया जा सकता वहाँ भी Marshal.SizeOf जो नेट के लिए कुछ संकेत के साथ इस्तेमाल किया जा सकता है:
लेकिन ... कि वास्तव में कुल नहीं है लागत के बाद से रनटाइम सिंक ब्लॉक जैसी चीजों के लिए कक्षाओं के लिए अतिरिक्त बाइट आवंटित करता है।
http://msdn.microsoft.com/en-us/library/ms404386.aspx
या WinDbg कि अच्छी बातें की सभी प्रकार कर सकते हैं की तरह एक नि: शुल्क उपकरण:
तुम सच बात के इस प्रकार को मापने में रुचि रखते हैं, हालांकि, आप की रूपरेखा एपीआई का उपयोग करना चाहिए।
प्रोफाइलर के बिना नहीं। यह केवल एक वर्ग के लिए काफी कठिन है - here देखें।
उत्तर के लिए धन्यवाद। मुझे लगता है कि हमले की शुरुआती योजना है, क्योंकि मुझे यकीन है कि अधिकांश ऑब्जेक्ट्स क्रमबद्ध होंगे, इस तरह कुछ होगा:
using (MemoryStream memstream = new MemoryStream())
{
BinaryFormatter formatter = new BinaryFormatter();
try
{
formatter.Serialize(memstream, myObjectOfObjects);
mem_footprint += memstream.Length;
}
catch
{
// not a serializable object
}
}
- 1. विधि गहन जावा ऑब्जेक्ट की मेमोरी पदचिह्न क्या है?
- 2. एकाधिक .NET प्रक्रिया मेमोरी पदचिह्न
- 3. हास्केल डेटा प्रकारों की मेमोरी पदचिह्न
- 4. ऐप्पल मैप्स मेमोरी पदचिह्न
- 5. डीएलआर की स्मृति पदचिह्न क्या है?
- 6. पायथन बनाम जावा रनटाइम पदचिह्न
- 7. रनटाइम त्रुटि: ऑब्जेक्ट की उम्मीद है कि अगर किसी कथन
- 8. .NET प्रतिबिंब की "लागत" क्या है?
- 9. .NET में, रनटाइम पर: टाइप ऑब्जेक्ट से किसी प्रकार का डिफ़ॉल्ट मान कैसे प्राप्त करें?
- 10. रन सी # ऐप की मेमोरी उपयोग रनटाइम पर?
- 11. सी #: किसी ऑब्जेक्ट का मेमोरी उपयोग
- 12. आईओएस मेमोरी पदचिह्न के लिए सही आंकड़ा क्या है। लाइव बाइट्स? असली मेमोरी? अन्य?
- 13. जावा एप्लिकेशन के लिए मेमोरी पदचिह्न
- 14. क्या डेटा सदस्य के बिना कक्षा में जावा में मेमोरी पदचिह्न है?
- 15. .NET स्ट्रिंग गहन अनुप्रयोगों पर मेमोरी पदचिह्न को कैसे कम करें?
- 16. .NET 2.0 रनटाइम पर LINQ
- 17. जावास्क्रिप्ट मॉड्यूल पैटर्न मेमोरी पदचिह्न और प्रदर्शन
- 18. किसी ऑब्जेक्ट पर जीसी क्लीनअप की संख्या
- 19. सी प्रोग्रामों में मेमोरी पदचिह्न को कम करना
- 20. रनटाइम पर किसी ऑब्जेक्ट के क्लास पदानुक्रम को निर्धारित करना
- 21. .NET 4.0 में डायनामिक भाषा रनटाइम की सीमाएं क्या हैं?
- 22. क्या .NET में कोई OpenFileOrFolderDialog ऑब्जेक्ट है?
- 23. रनटाइम पर किसी ऑब्जेक्ट में किसी मान के लिए खोज करें [क्विकवॉच एन्हांसमेंट]
- 24. किसी ऑब्जेक्ट का मेमोरी उपयोग लॉगिंग
- 25. क्या सिस्टम में कैश पर निर्भरता है। रनटाइम। कैशिंग?
- 26. उद्देश्य-सी: किसी ऑब्जेक्ट की कक्षा को रनटाइम पर कैसे बदला जाए?
- 27. टॉमकैट "प्रति कनेक्शन" मेमोरी पदचिह्न को कम करें
- 28. रनटाइम पर .NET असेंबली संसाधनों का आकलन
- 29. .NET स्टैक मेमोरी सीमा
- 30. ऑब्जेक्ट मेमोरी में कैसा दिखता है?
मैं वास्तव में एक प्रोग्रामेटिक कार्यान्वयन की तलाश में हूं। लेकिन मैं मानता हूं कि एएनटीएस प्रोफाइलर निश्चित रूप से सही परिस्थितियों में आसान हो सकता है :) – Bullines