मेरा एक सहयोगी आश्वस्त है कि ओरेकल के odp.net ado.net कार्यान्वयन में एक स्मृति रिसाव है। उन्होंने कहा कि एक परीक्षण कार्यक्रम इस सिद्धांत का परीक्षण करने के लिए लिखा है और क्रम में प्रत्येक वस्तु पर निपटाने निर्धारित करने के लिए कितना स्मृति को मुक्त कर दिया जा रहा है बुला के बाद निम्नलिखित कर रही है:जीसी.कोलेक्ट() और प्रदर्शन काउंटर
PerformanceCounter p = new PerformanceCounter("Memory", "Available Bytes");
GC.Collect();
GC.WaitForPendingFinalizers();
float mem = p.NextValue();
परिणामस्वरूप प्रदर्शन मूल्य तो लिया गया एक मूल्य के साथ तुलना की जाती है वस्तु का निपटान करने से पहले। क्या यह सटीक परिणाम देगा?
नहीं, ऐसा नहीं है कि स्मृति प्रबंधक कैसे काम करता है। वर्चुअल मेमोरी स्पेस आवंटित करने की परेशानी के बाद, यह मुक्त ब्लॉक सूची पर जारी किए गए ब्लॉक को वापस रखता है, जो बाद में फिर से उपयोग करने के लिए तैयार है। –
क्या आपने अपनी प्रक्रिया के भीतर .NET मेमोरी और सिस्टम मेमोरी उपयोग की निगरानी करने के लिए ProcessExplorer का उपयोग करने का प्रयास किया है? आपने यह नहीं बताया है कि किस प्रकार की मेमोरी लीक हो रही है ... – GregC
हम नहीं जानते कि किस प्रकार की मेमोरी लीक हो रही है, यह परीक्षण के कारण का हिस्सा है, यह पुष्टि करने के लिए कि कोई समस्या है। मेरा सवाल यह पुष्टि करना है कि परीक्षण वैध है या नहीं। – zaq