एक जटिल बहु आवेदन मैं एक सप्ताह में एक बार हो सकता है एक बाहर के स्मृति अपवाद मार रहा हूँ के अंदर। एप्लिकेशन कई सॉकेट के माध्यम से भारी मात्रा में डेटा भेज रहा/पढ़ रहा है, जहां नेटवर्क कार्ड बफर ओवररन्स से बचने के लिए पढ़ा गया डेटा कैश किया जाता है।
सबसे अच्छी रणनीति स्मृति अपवाद विश्लेषण करने के लिए क्या है? सामान्य चलाने के समय के दौरान, अनुप्रयोग की प्रक्रिया एक्सप्लोरर में 1.5 गीगाबाइट की "सभी ढेर में कुल बाइट" एक आकार के साथ दिखाया गया है।
यह एक धागा जो मतदान या तोसी # स्मृति अपवाद के समाप्त - चेतावनी रणनीति
GC.GetTotalMemory()
या
एक एक बारPrivateMemorySize64()
है करने के लिए एक रणनीति हो सकता है दूसरी बात यह जानने के लिए कि चीजों का विश्लेषण शुरू करना कब है? मैंने अभी तक वाणिज्यिक प्रोफाइलरों में नहीं देखा है और मैं उनके प्रदर्शन प्रभाव से थोड़ा चिंतित हूं जो वास्तविक समस्या विश्लेषण के संबंध में गलत परिणाम भी दे सकता है।
आपका कैशिंग कैसे काम करता है? मैं आपके कैशिंग के लिए एक अलग आवंटन रणनीति में देखता हूं। – CodesInChaos
स्पष्टीकरण के लिए, क्या आप जानते हैं कि स्मृति अपवाद से क्या कारण बनता है और क्या आप अपने आवेदन में कैशिंग को कॉन्फ़िगर करने के लिए बस एक तरीके से देख रहे हैं ताकि ऐसा न हो? या यह है कि आप नहीं जानते कि वास्तव में इसका क्या कारण है और आप समस्या को डीबग करना चाहते हैं? – svick