मेरे पास एक WPF ऐप है जो अन्य चीजों के साथ बड़ी और छोटी छवियों को प्रदर्शित करता है। मेरी समस्या यह है कि ऐप बहुत मेमोरी का उपयोग करता है और मैं यह नहीं समझ सकता कि यह कहां से आ रहा है।मेरी याददाश्त कहां गई? बड़े निजी बाइट्स
परिदृश्य, जब अनुप्रयोग पर बल देते कुछ मैं इस ग्राफ परफ़ॉर्मेंस में मिलता है:
http://www.imagechicken.com/uploads/1244548604007097000.jpg
बड़ा काला लाइन प्रक्रिया \ निजी बाइट्स और अन्य लाइनों CLR मेम काउंटरों (गुलाबी एक हैं है कुल प्रतिबद्ध बाइट्स)
ग्राफ में संख्या में हैं:
निजी बाइट्स ~ 350 एमबी
प्रतिबद्ध बाइट्स ~ 100 एमबी
मैं WinDbg और अन्य उपकरणों के साथ एक बहुत चारों ओर से खुदाई कर दिया है, और वे सभी का कहना है कि कामयाब ढेर बर्ताव करता है (करीब 100 एमबी की! Eeheap रिपोर्ट में कामयाब कुल ढेर)
मैं चारों ओर जैसे एप्लिकेशन के साथ poking किया गया है लीकडिआग, एलडी ग्रैफर लेकिन कुछ भी नहीं मिला।
तो आखिरकार, मेरे प्रश्न पर, मेरी याददाश्त कहां जा रही है यह जानने में मैं आगे कैसे बढ़ूं?
यहां तक कि ऐप शुरू करने से भी प्रतिबद्ध बाइट्स में 100 एमबी का उपयोग होता है लेकिन निजी बाइट्स में 190 एमबी का उपयोग करता है।
संदर्भ:
टेस Ferrandez: http://blogs.msdn.com/tess/archive/2009/02/27/net-memory-leak-reader-email-are-you-really-leaking-net-memory.aspx
रीको मरिअनी: http://blogs.msdn.com/ricom/archive/2004/12/10/279612.aspx
MSDN
मैं महान साइटों पर इस बारे में बहुत कुछ पढ़ा है दूसरों के बीच में, मैग: http://msdn.microsoft.com/en-us/magazine/cc163528.aspx
उत्तर के लिए धन्यवाद अब तक। तो, स्पष्टीकरण के लिए,! Eheheap,! Dumpheap, gcroot आदि सभी 100 एमबी बनाने वाली चीजों की रिपोर्ट करते हैं - जो मैं छुटकारा पाने की कोशिश कर रहा हूं वह अन्य स्मृति है - अतिरिक्त 250 एमबी। – andyhammar
अद्यतन - VADUMP के साथ: 236 एमबी का "ग्रैंड कुल कामकाजी सेट" रिपोर्ट करता है, "अन्य डेटा" 1 9 6 एमबी के रूप में। इस बीच! Eheapap 107336836 पर "जीसी ढेर आकार" रिपोर्ट करता है। यह अंतर क्या है? – andyhammar
'अन्य डेटा' में अन्य डेटा के साथ जीसी ढेर शामिल है :) मुझे यकीन नहीं है कि वहां और क्या है, लेकिन सीएलआर द्वारा आवश्यक रनटाइम डेटा मानना सुरक्षित है। –