मैं .Net AppDomain में चल रहे प्लगइन की स्मृति खपत को प्रोग्रामेटिक रूप से प्रतिबंधित करने की कोशिश कर रहा हूं, लेकिन मुझे इसके लिए कोई सेटअप पैरामीटर नहीं मिल रहा है, और न ही मुझे यह पता लगाने के लिए ऐपडोमेन से पूछने का कोई तरीका मिल सकता है कि यह कितनी मेमोरी है खपत कर रहा है कोई विचार?मैं कैसे पता लगा सकता हूं कि नेट एपडोमेन कितनी मेमोरी खा रहा है?
उत्तर
प्रक्रिया की स्मृति उपयोग पूछताछ के लिए यहां दस्तावेज़ है। AppDomain के समान नहीं है, लेकिन यह शुरू करने के लिए एक जगह हो सकती है।
http://msdn.microsoft.com/en-us/library/s80a75e5(VS.80).aspx
आप जीसी यह सोचता है कि क्या वर्तमान में भी आवंटित किया जाता है पूछ सकते हैं।
http://msdn.microsoft.com/en-us/library/system.gc.gettotalmemory(VS.71).aspx
प्रोग्रामिक रूप से सुनिश्चित नहीं है, लेकिन Process Explorer आपको बता सकता है कि एनेट ऐपडोमेन कितनी मेमोरी का उपयोग कर रहा है। हो सकता है कि उनके पास कुछ जानकारी हो कि वे उस जानकारी से पूछताछ कैसे कर रहे हैं।
सी से mscoree.CorRuntimeHostClass इंटरॉप का उपयोग करना: \ WINDOWS \ Microsoft.NET \ फ्रेमवर्क \ vXXXXXX \ mscoree.tlb
पुराना सवाल है, लेकिन इस बीच में (क्योंकि नेट ढांचा 4.0) एक नया समाधान उपलब्ध है। आपको एआरएम (एप्लिकेशन डोमेन संसाधन निगरानी) सक्षम करना होगा। उस बिंदु से, आप कुल उपभोग प्रोसेसर समय, स्मृति उपयोग इत्यादि पर जानकारी का अनुरोध कर सकते हैं