मेमोरी लीक
मेमोरी लीक की प्रक्रिया रैम की मात्रा में धीरे-धीरे वृद्धि का प्रतिनिधित्व करती है, जिसे एक चल रहा प्रोग्राम उपभोग करता है। आमतौर पर, यह प्रोग्राम में की गई त्रुटि का परिणाम होता है, जिसके कारण अप्रयुक्त मेमोरी मुक्त नहीं हो पाती।
उन प्रोग्रामों में मेमोरी लीक विशेष रूप से खतरनाक होती है, जो बिना रीस्टार्ट के लंबे समय तक चलते हैं। ऐसे में कुछ समय बाद ऐसा प्रोग्राम उपलब्ध रैम की पूरी मात्रा का उपयोग कर सकता है, जिसके परिणामस्वरूप प्रोग्राम का अचानक बंद होना या, जो और भी बुरा है, गलत तरीके से काम करना हो सकता है।
मेमोरी लीक को रोकने के लिए निम्नलिखित तरीके मौजूद हैं:
- गार्बेज कलेक्टर का उपयोग, जो अप्रयुक्त मेमोरी को मुक्त करते हैं, लेकिन साथ ही अपने काम के लिए सिस्टम के कुछ संसाधनों की खपत करते हैं, जिसके कारण इसके काम में रुकावट या हैंग हो सकता है।
- बाहरी प्रोग्राम की मदद से प्रोग्राम को पुनः आरंभ करना, जिसके परिणामस्वरूप प्रोग्राम के काम खत्म होने के बाद सारी मेमोरी फिर से सिस्टम में लौट आती है और लीक इतनी बड़े पैमाने पर नहीं होती।
- डायनामिक मेमोरी अलोकेशन को छोड़ना, जो बदले में ऐसी त्रुटियों को समाप्त करता है, लेकिन प्रोग्राम की कार्यक्षमता को सीमित भी करता है।
- ओनिंग पॉइंटर्स का उपयोग इसलिए करना, ताकि पॉइंटर के जीवनकाल और उस ऑब्जेक्ट के जीवनकाल के बीच समन्वय स्थापित किया जा सके, जिसकी ओर वह इशारा करता है। हालांकि, यह तरीका ऑब्जेक्ट्स के बीच साइक्लिक रेफरेंस के लिए उपयुक्त नहीं है।
यह भी देखें
-
रनटाइम,
जिस दौरान प्रोग्राम निष्पादित होता है -
स्रोत डेटा,
जो डेटा के स्थान का प्रतिनिधित्व करते हैं -
प्रोग्रामों का समुच्चय सॉफ्टवेयर,
जो एप्लिकेशन के कामकाज को सुनिश्चित करता है -
प्रोग्रामों का समुच्चय ऑपरेटिंग सिस्टम,
जो कंप्यूटर सिस्टम के प्रबंधन को सुनिश्चित करता है