2015-03-03 8 views
5

हमारे आवेदन के प्रदर्शन के एक विश्लेषण से पता चला कि CPU उपयोग कई बार तब होता था जब स्मृति को .NET स्मृति प्रबंधन द्वारा आवंटित किया जाना था।एक .NET (wpf) अनुप्रयोग के लिए मेमोरी प्रबंधन

मेमोरी की एक बड़ी राशि थी, लेकिन एप्लिकेशन द्वारा दावा नहीं किया गया था, इसने पहले से ही स्मृति के पहले से दावा किए गए हिस्से में मुफ्त स्थान की खोज की थी।

क्या संभव हो तो अधिक मेमोरी का दावा करने के लिए किसी एप्लिकेशन को कॉन्फ़िगर करना संभव है?
क्या यह शायद इस तथ्य से संबंधित है कि एप्लिकेशन साइट्रिक्स के तहत होस्ट किया गया है?

+0

क्या मतलब है 'स्मृति की एक बड़ी मात्रा में बस मुफ्त था?' क्या आपका मतलब है कि यह वास्तव में जारी किया गया है, यानी 'वर्चुअलफ्री' के माध्यम से, या जीसी ने एसओएच में से एक को कॉम्पैक्ट किया है? इसके अलावा, क्या LOH या SOH पर आपका धीमा आवंटन है? –

+0

प्रदर्शन काउंटर ने दिखाया कि साइट्रिक्स सर्वर पर अधिकतम सीए। प्रक्रिया द्वारा 20% साइट्रिक्स मेमोरी का उपयोग किया जा रहा था। मुझे आश्चर्य है कि प्रक्रिया का उपयोग क्यों नहीं करता है उदा। 30-40%? दुर्भाग्य से LOH/SOH इन प्रदर्शन डेटा में नहीं है। – Gerard

+1

क्या यह 32 बिट या 64 बिट प्रक्रिया है? क्या आप इस सवाल में वास्तविक संख्या दे सकते हैं? इससे यह समझने में मदद मिलेगी कि आप किस सीमा को मार सकते हैं। – codekaizen

उत्तर

1

विंडोज़ अनुप्रयोग अनिश्चित काल तक नहीं बढ़ सकते हैं, इससे कोई फर्क नहीं पड़ता कि सिस्टम में कितनी मुफ्त मेमोरी है।

आप वास्तविक सीमा के बारे में यहाँ पढ़ सकते हैं: https://msdn.microsoft.com/en-us/library/aa366778(VS.85).aspx#memory_limits

और यहां मुद्दा यह है के बारे में अतिरिक्त जानकारी: http://www.codeproject.com/Articles/483475/Memory-Limits-in-a-NET-Process

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

आपकी ओर से कौन सा बिंदु नई मेमोरी का दावा करना बंद कर देता है? 1 जीबी के करीब? 2 जीबी? 64 बिट अनुप्रयोग बड़ी मात्रा में मेमोरी का उपयोग करने में सक्षम हैं, लेकिन यह एक विकल्प नहीं हो सकता है ...

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