delete
जावास्क्रिप्ट में चर या मुक्त स्मृति को हटाने के लिए उपयोग नहीं किया जाता है। इसका उपयोग केवल किसी वस्तु से किसी संपत्ति को हटाने के लिए किया जाता है। आपको यह लेख
मिल सकता है delete
. पर ऑपरेटर एक अच्छा पढ़ा।
आप वैरिएबल को null
. जैसी किसी चीज़ पर सेट करके वेरिएबल में रखे गए डेटा के संदर्भ को हटा सकते हैं . यदि उस डेटा का कोई अन्य संदर्भ नहीं है, तो वह इसे कचरा संग्रहण के योग्य बना देगा। यदि उस वस्तु के अन्य संदर्भ हैं, तो इसे स्मृति से तब तक साफ़ नहीं किया जाएगा जब तक कि इसके कोई और संदर्भ न हों (उदाहरण के लिए आपके कोड को इसे प्राप्त करने का कोई तरीका नहीं)।
स्मृति संचय के कारण के लिए, कई संभावनाएं हैं और हम वास्तव में यह जानने के लिए पर्याप्त कोड नहीं देख सकते हैं कि उस पर कौन से संदर्भ रखे जा सकते हैं जो जीसी को चीजों को मुक्त करने से रोकेंगे।
यदि यह एक एकल, लंबी चलने वाली प्रक्रिया है और निष्पादन में कोई रुकावट नहीं है, तो आपको यह सुनिश्चित करने के लिए कचरा संग्रहकर्ता को मैन्युअल रूप से चलाने की आवश्यकता हो सकती है कि इसे आपके द्वारा जारी की गई चीजों को साफ करने का मौका मिले।
यहां नोड.जेएस में आपके मेमोरी उपयोग को ट्रैक करने पर कुछ लेख दिए गए हैं:http://dtrace.org/blogs/bmc/2012/05/05/debugging-node-js-memory-leaks/ और https://hacks.mozilla.org/2012/11/tracking-down-memory-leaks-in-node-js-a-node-js-holiday- Season/ ।