2012-06-04 6 views
35

मेरे पास एक नोड.जेएस ऐप है जो ऐप शुरू होने पर माइस्क्ल से रेडिस में कुछ डेटा लोड करता है। यह ठीक काम कर रहा है जब तक कि हम माइस्क्ल में डेटा संशोधित नहीं करते।हत्या और बाहर निकलने के लिए node.js का कारण क्या हो सकता है?

अब यह सिर्फ "मारे गए" संदेश से बाहर निकल रहा है।

मैं समस्या को इंगित करने की कोशिश कर रहा हूं लेकिन नोड-इंस्पेक्टर का उपयोग करके डीबग करना मुश्किल है क्योंकि समस्या --debug में चलने पर दिखाई नहीं देती है।

मुझे नहीं लगता कि मेरी समस्या डेटा में ही है क्योंकि यह मेरी स्थानीय मशीन पर काम करती है लेकिन मेरे उत्पादन बॉक्स पर काम नहीं करती है।

मेरा सवाल है, "हत्या" संदेश का कारण क्या है, क्या यह नोड.जेएस है या यह माइस्क्ल चालक या अन्य जगहों पर है?

उत्तर

2

यह सुनिश्चित नहीं है कि रेडिस मारे गए संदेश का कारण बनता है लेकिन यह मेरी समस्या का कारण था।

मैं बहु से अधिक डेटा भेज रहा था क्योंकि मैंने मूल रूप से सोचा था कि पाइपलाइनिंग (जो स्वचालित है) का उपयोग करने का तरीका था।

+0

क्या आपको इसका समाधान मिला? –

44

नोड के बारे में संदेशों के लिए अपने सिस्टम लॉग की जांच करें। आपका नोड एप्लिकेशन अत्यधिक स्मृति का उपयोग कर रहा है और Out-Of-Memory killer द्वारा मारा जा रहा है।

+0

आपके सुझाव के लिए धन्यवाद। – Tim

+3

मेरे मामले में, वास्तव में, मैं/var/log/syslog में देखता हूं: '4 सितंबर 16:21:32 होस्टिंग कर्नेल: स्मृति से बाहर: प्रक्रिया को मारें 29620 (नोडजेस) स्कोर 107 या बच्चे को त्यागें' 4 सितंबर 16:21 : 32 होस्टिंग कर्नेल: हत्या की प्रक्रिया 29620 (नोडजेस) कुल-वीएम: 1054732 केबी, एनोन-आरएसएस: 136168 केबी, फ़ाइल-आरएसएस: 0 केबी'। संकेत के लिए धन्यवाद! – weekens

+2

यदि आप रेडहाट सिस्टम पर हैं, तो वह लॉग '/ var/log/messages' पर है। स्मृति से बाहर भी मेरे लिए समस्या प्रतीत होती है। –

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