मैं 16 जीबी मेमोरी वाली मशीन पर कुछ सिमुलेशन चला रहा हूं। सबसे पहले, मैं कुछ त्रुटियों से मुलाकात की:स्मृति स्मृति के साथ आर मेमोरी समस्या()
Error: cannot allocate vector of size 6000.1 Mb (the number might be not accurate)
तो मैं का उपयोग करके आर के लिए और अधिक स्मृति को आबंटित करने की कोशिश की:
memory.limit(1E10)
इतनी बड़ी संख्या को चुनने का कारण यह है कि memory.limit
मुझे चुनने की अनुमति नहीं कर सकता एक नंबर अपने सिस्टम की कुल स्मृति
In memory.size(size) : cannot decrease memory limit: ignored
यह करने के बाद कम से कम, मैं अपने सिमुलेशन समाप्त कर सकते हैं, लेकिन आर 15GB स्मृति है, जो किसी भी पोस्ट analy करने से मेरी बंद कर दिया चारों ओर ले गया सीस।
मैंने object.size()
का उपयोग सभी जेनरेटेड वैरिएबल का उपयोग करने वाली कुल मेमोरी का अनुमान लगाने के लिए किया था, जो केवल 10 जीबी लेता था। मैं यह नहीं समझ सका कि आर ने बाकी मेमोरी ली है। तो मेरा सवाल यह है कि मैं अपनी मशीन को विस्फोट किए बिना उचित रूप से आर को स्मृति आवंटित कैसे करूं? धन्यवाद!
क्या आप वाकई सभी मौजूदा चर देख चुके हैं? क्या 'ls (all = TRUE) 'केवल आपके द्वारा जेनरेट की गई सूची सूचीबद्ध करता है? ध्यान दें कि यदि कोई ऑब्जेक्ट हटा दिया जाता है, तो उस ऑब्जेक्ट को स्टोर करने के लिए उपयोग की जाने वाली मेमोरी कचरा कलेक्टर कहलाए जाने तक निःशुल्क नहीं होती है। आर समय-समय पर करता है, लेकिन आप 'gc() 'के साथ संग्रह को मजबूर कर सकते हैं। –
मैंने अपनी सभी मेमोरी के लिए मेमोरी उपयोग की जांच नहीं की है। लेकिन मैंने प्रत्येक पुनरावृत्ति के बाद अपने सिमुलेशन में जीसी() का उपयोग किया ... –
सामान्य रूप से, आपको अपनी ऑब्जेक्ट्स पर कितनी मेमोरी की मात्रा की आवश्यकता होती है। यह वस्तुओं की प्रतिलिपि बनाने के कारण है। –