मेरे पास एक ऐप है कि, चलते समय, अपने स्वयं के मेमोरी उपयोग को पोल करने की आवश्यकता है। यह आदर्श होगा यदि यह प्रत्येक ऑब्जेक्ट के लिए स्मृति उपयोग को सूचीबद्ध कर सकता है। मुझे पता है कि यह डब्लूएमआई द्वारा हासिल किया जा सकता है, लेकिन मैं ऐसा कुछ उम्मीद कर रहा था जो डब्लूएमआई पर भरोसा न करे।रन सी # ऐप की मेमोरी उपयोग रनटाइम पर?
उत्तर
दो कार्यों आप उपयोगी लग सकते हैं:
GC.GetTotalMemory();
Process.PagedMemorySize64();
मेरा अनुभव रहा है कि GC.GetTotalMemory() बहुत विश्वसनीय नहीं है। यह अक्सर स्मृति उपयोग की रिपोर्ट करता है जो वास्तविक स्मृति उपयोग से बहुत छोटा है। मैंने यह रिपोर्ट देखी है कि जब मैं 16 गीगाबाइट मशीन पर मेमोरी से बाहर चला जाता हूं तो मैं केवल 8 गीगाबाइट्स का उपयोग कर रहा हूं।
मैंने अभी तक प्रक्रिया का परीक्षण नहीं किया है। PagedMemorySize64, हालांकि यह वादा करता है।
आप परफ़ॉर्मेंस काउंटर, जिसमें आप डेटा के बहुत सारे दे देंगे पर सुनने सकता है (जीसी गतिविधि/भौतिक स्मृति उपयोग/प्रबंधित ढेर आदि ..)
आप गहराई में जाने की जरूरत है तो आप शायद एक डिबगर संलग्न करने के लिए होगा अपने आप को, जो वास्तव में बहुत मुश्किल कारण है, आपको एक नई प्रक्रिया को विकसित करना होगा और इसके साथ संवाद करना होगा, और अपनी याददाश्त के माध्यम से चलना होगा।
आप सिस्टम से अपनी प्रक्रिया के बारे में कुछ मोटे ग्रॅन्युलरिटी प्राप्त कर सकते हैं। डायग्नोस्टिक्स, प्रोसेस क्लास। http://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspx।
'प्रति ऑब्जेक्ट' सामग्री में से कोई भी नहीं, लेकिन कम से कम आपकी प्रक्रिया के बारे में कुछ स्मृति जानकारी प्राप्त की जा सकती है।
Process proc = Process.GetCurrentProcess();
Logger.Info(proc.PeakWorkingSet64/1024 + "kb");
शायद
Windows::System::Diagnostics::ProcessDiagnosticInfo::GetForCurrentProcess();
- 1. रनटाइम
- 2. सी # मेमोरी उपयोग
- 3. रनटाइम पर ओएस के लिए जावा मेमोरी रिलीज करें।
- 4. किसी भी आईफोन ऐप द्वारा उपयोग की जाने वाली मेमोरी
- 5. सी: रनटाइम पर कंपाइलर जानकारी
- 6. एक आईफोन ऐप में मेमोरी उपयोग की निगरानी करें?
- 7. रनटाइम पर सी # कक्षाएं बनाना
- 8. सी # मल्टीलाइन टेक्स्टबॉक्स मेमोरी उपयोग
- 9. रन-टाइम पर अपवादों की जांच होती है?
- 10. रिकर्सन रन-टाइम मेमोरी का अप्रत्याशित उपयोग कैसे करता है?
- 11. पहचानें कि क्या ऐप इंजन रनटाइम (जावा)
- 12. सी #: किसी ऑब्जेक्ट का मेमोरी उपयोग
- 13. रनटाइम पर कक्षा कोड की गणना हैश (सी #)?
- 14. रेडिस - मेमोरी उपयोग की निगरानी
- 15. रन सी # विंडोज़ पर शुरू करें
- 16. सी # रनटाइम
- 17. सी # रनटाइम
- 18. रनटाइम सी ++
- 19. जावा जेनेरिक रनटाइम पर कास्टिंग का उपयोग कब करते हैं?
- 20. स्थानीयहोस्ट पर grails रन-ऐप: 8080/ऐपनाम के बजाय 8080?
- 21. सी # मेमोरी प्रोफाइल
- 22. मोनो रनटाइम की सीमा
- 23. रनटाइम पर सी # कोड एक्सटेंशन संकलित करें
- 24. .NET में रनटाइम पर किसी ऑब्जेक्ट की मेमोरी पदचिह्न क्या है?
- 25. रनटाइम पर लोकेल बदलें?
- 26. मेमोरी एक खाली रेल ऐप
- 27. ऐप का उपयोग होने पर जावा मेमोरी उपयोग बढ़ता है, लेकिन उपयोग नहीं होने पर घटता नहीं है
- 28. सी # मेमोरी
- 29. रनटाइम पर प्रतिशत की गणना करें
- 30. सी # और मेमोरी
मुझे लगता है कि Process.PrivateMemorySize64() सही एक सक्रिय स्मृति के उपयोग के लिए उपयोग करने के लिए है। – maxfridbe
मुझे यकीन नहीं है कि 'Process.PagedMemorySize64' उपयोगी है, लेकिन यह वास्तव में मेरे मामले में काम नहीं कर रहा था। मैं ऑब्जेक्ट्स के समूह के पहले/बाद में तुलना कर रहा हूं, तुरंत पार्सर चलाता है और पार्समेमरी साइज़ 64 पहले और बाद में उसी मूल्य की रिपोर्ट कर रहा था, जबकि 'जीसी.गेटटॉटलमेमरी (सच्चा)' मेमोरी उपयोग में बदलावों को अधिक प्रभावी ढंग से रिपोर्ट करता है । –
http://stackoverflow.com/questions/750574/how-to-get-memory-available-or-used-in-c-sharp –