में मेमोरी उपयोग के साथ मुकाबला करने और कम करने, मेरे पास एक बहुत अधिक स्मृति (256 एमबी) नहीं है जिसमें मैं एसबीसीएल + हुनचेनॉट के साथ सामान्य लिस्प विकास के लिए कुछ सरल वेब-ऐप्स लिखने के लिए उपयोग करने की कोशिश कर रहा हूं । विशेष रूप से जटिल कुछ भी किए बिना स्मृति की एक बड़ी मात्रा का उपयोग किया जा रहा प्रतीत होता है, और पृष्ठों की सेवा के कुछ समय बाद यह स्मृति से बाहर हो जाता है और या तो सभी स्वैप का उपयोग करके पागल हो जाता है या (यदि कोई स्वैप नहीं है) बस मर जाता है।कॉमन लिस्प (एसबीसीएल)
तो मैं करने के लिए मदद की जरूरत है:
- क्या सभी स्मृति उपयोग कर रहा है पता लगाएँ (अगर यह, पुस्तकालयों मैं हूँ या विशेष रूप से)
- सीमा स्मृति की मात्रा जो SBCL उपयोग करने के लिए अनुमति दी है, से बचने के लिए स्वैपिंग की भारी मात्रा
- दुर्घटनाग्रस्त होने की बजाय स्मृति समाप्त होने पर चीजों को साफ़ करें (क्योंकि यह एक वेब-ऐप है जिसे मैं इसे चालू करना चाहता हूं और साफ़ करने की कोशिश करता हूं)।
मुझे लगता है कि पहले दो उचित रूप से सीधा हैं, लेकिन तीसरा भी संभव है? लोग लिस्प में मेमोरी या बाधित स्मृति स्थितियों को कैसे संभालते हैं?
(साथ ही, मुझे लगता है कि एक 64-बिट एसबीसीएल सचमुच 32-बिट के रूप में दो गुना अधिक स्मृति का उपयोग करता प्रतीत होता है। क्या यह अपेक्षित है? यदि मैं बहुत मेमोरी बचाऊंगा तो मैं 32-बिट संस्करण चला सकता हूं)
क्या आप एसबीसीएल प्रोफाइलर के बारे में कुछ जोड़ने के लिए लिंक जोड़ सकते हैं? :) –
एसबीसीएल मैनुअल में http://www.sbcl.org/manual/Deterministic-Profiler.html –
पर प्रोफाइलर का विवरण बहुत बढ़िया है, धन्यवाद! –