2015-12-04 9 views
8

मैं नोडजेस और मोंगोडब में एक नौसिखिया हूं। मुझे एक समस्या है जब मैंने अपने mongodb से nodejs अनुप्रयोग में लगभग 100000 रिकॉर्ड पढ़े। जब मैं 100000 रिकॉर्ड प्राप्त करने की कोशिश, मैं यह त्रुटि आई:कॉन्फ़िगरेशन अधिकतम पुराने आकार का आकार नोडजेस

गंभीर त्रुटि: CALL_AND_RETRY_LAST आबंटन में विफल रहा है - स्मृति

से बाहर प्रक्रिया मैं खोज गूगल और हर किसी ने कहा कि कॉन्फ़िगर अधिकतम पुराने अंतरिक्ष आकार पैरामीटर क्योंकि v8 इंजन के बारे में 1,9 जीबी ढेर memmory है।

मेरा मुद्दा यह है कि, मैं अपने ऐप को ग्रहण द्वारा चलाता हूं, और मुझे नहीं पता कि अधिकतम-पुराने-स्थान-आकार पैरामीटर को कॉन्फ़िगर कैसे करें।

क्या कोई संकेत दे सकता है?

आपको बहुत बहुत धन्यवाद!

ps: मेरी अंग्रेजी खराब है इसलिए यदि आप मेरे प्रश्न को समझ नहीं सकते हैं, तो यह ठीक है।

+1

आप उन सभी रिकॉर्ड्स को स्मृति में स्टोर करने का प्रयास क्यों कर रहे हैं? – mscdex

+0

मैं इन सभी रिकॉर्ड्स को अपनी वेबसाइट पर प्रदर्शित करना चाहता हूं। – user1697646

+1

तो ब्राउज़र पर रिकॉर्ड्स को स्ट्रीम क्यों न करें या किसी प्रकार की पेजिंग को लागू न करें (ब्राउजर हमेशा डोम तत्वों का एक टन नहीं संभालते हैं, मानते हैं कि आप डेटा को कैसे प्रदर्शित कर रहे हैं)? – mscdex

उत्तर

12

5000 एमबी की अनुमति देने के लिए node --max_old_space_size=5000 yourapp.js का उपयोग करें। कमांड लाइन पैरामीटर के लिए अपनी ग्रहण लॉन्च सेटिंग्स में देखें, जहां आप इसे जोड़ सकते हैं।

हालांकि, जैसा कि टिप्पणियां कहती हैं, आपको इसे स्मृति में लोड करने पर पुनर्विचार करना चाहिए, और इसे इसके बजाय क्लाइंट को स्ट्रीम करना चाहिए।

+0

आपकी टिप्पणी के लिए धन्यवाद। जैसा कि आपने कहा था "इसे स्मृति में लोड करना, और इसे क्लाइंट को स्ट्रीम करना"। क्या आप मुझे दस्तावेज़ दिखा सकते हैं या जो कुछ भी करने में मदद कर सकते हैं, क्योंकि मुझे शुरू करने का कोई विचार नहीं है। – user1697646

+0

चेक इस सवाल से बाहर: http://stackoverflow.com/questions/7372626/how-to-stream-mongodb-query-results-with-nodejs – ZachB

+3

यह है "--max_old_space_size = 5000" या "--max-old-space -size = 5000 "?! यह भ्रमित है –

संबंधित मुद्दे