What is Memory Ballooning In Hindi




What is Memory Ballooning In Hindi

मेमोरी का उपयोग करने के लिए कई मेमोरी मैनेजमेंट सिस्टम का उपयोग किया जाता है, लेकिन आजकल, मेमोरी को प्रबंधित करने के लिए एक विशेष प्रकार के मेमोरी मैनेजमेंट का उपयोग किया जाता है, और इस सिस्टम को मेमोरी बैलूनिंग के रूप में जाना जाता है.

मेमोरी बैलूनिंग एक मेमोरी मैनेजमेंट फीचर है जिसका उपयोग वर्चुअल सर्वर के लिए भौतिक मेमोरी का अधिक कुशल उपयोग करने के लिए अधिकांश वर्चुअलाइजेशन प्लेटफॉर्म में किया जाता है. मेमोरी बैलूनिंग आधुनिक वर्चुअलाइज्ड डेटा स्टोरेज आर्किटेक्चर का एक महत्वपूर्ण घटक है. स्मृति संसाधनों की आवश्यकता वाली भौतिक और आभासी संपत्तियों के साथ, स्मृति का दावा करने, जारी करने और पुनः प्राप्त करने के लिए विभिन्न तरीकों की आवश्यकता होती है.

मेमोरी बैलूनिंग एक सामान्य वर्चुअलाइजेशन तकनीक तकनीक है जो वर्चुअल मशीन मेमोरी का उपयोग करती है. यह अधिकांश वर्चुअलाइजेशन प्लेटफॉर्म में पाया जाने वाला एक मेमोरी मैनेजमेंट फीचर है जो एक होस्ट सिस्टम को पहले से विभिन्न वर्चुअल मशीनों को आवंटित अप्रयुक्त मेमोरी का लाभ उठाकर या पुनः प्राप्त करके अपने मेमोरी पूल को कृत्रिम रूप से बड़ा करने की अनुमति देता है.

यह अतिथि ऑपरेटिंग सिस्टम पर स्थापित एक बैलून ड्राइवर के माध्यम से प्राप्त किया जाता है, जिसके साथ हाइपरवाइजर संचार करता है जब उसे बैलूनिंग के माध्यम से स्मृति को पुनः प्राप्त करने की आवश्यकता होती है.

मेमोरी बैलूनिंग एक मेमोरी मैनेजमेंट फीचर है जिसका उपयोग अधिकांश वर्चुअलाइजेशन प्लेटफॉर्म में किया जाता है जो एक होस्ट सिस्टम को विभिन्न वर्चुअल मशीनों को पहले आवंटित अप्रयुक्त मेमोरी का लाभ उठाकर या पुनः प्राप्त करके मेमोरी के अपने पूल को कृत्रिम रूप से बढ़ाने की अनुमति देता है. यह एक बैलून ड्राइवर के माध्यम से प्राप्त किया जाता है जो अतिथि ऑपरेटिंग सिस्टम पर स्थापित होता है, जिसके साथ हाइपरवाइजर संचार करता है जब उसे बैलूनिंग के माध्यम से मेमोरी को पुनः प्राप्त करने की आवश्यकता होती है.

मेमोरी बैलूनिंग के माध्यम से, एक होस्ट सर्वर अन्य कम व्यस्त वर्चुअल मशीनों से अप्रयुक्त मेमोरी को पुनः प्राप्त कर सकता है और इसे उन लोगों को फिर से सौंप सकता है जिन्हें इसकी अधिक आवश्यकता होती है. सैद्धांतिक रूप से, 32GB मेमोरी वाला एक सर्वर 64GB की संयुक्त वर्चुअल मशीन मेमोरी क्षमता आवंटन का समर्थन करने में सक्षम हो सकता है, क्योंकि वे सभी वर्चुअल मशीनें एक ही समय में उन्हें अधिकतम मेमोरी का उपयोग नहीं कर रही हैं.

प्रत्येक अतिथि ऑपरेटिंग सिस्टम में बैलून ड्राइवर प्रत्येक VM की अतिरिक्त मेमोरी का ट्रैक रखता है और जब हाइपरवाइजर बैलूनिंग के माध्यम से मेमोरी रिक्लेमेशन के लिए कॉल करता है, तो VM में बैलून ड्राइवर एक विशिष्ट मात्रा में मेमोरी को पिन करता है ताकि VM इसका उपभोग न कर सके, और फिर हाइपरवाइजर पुनः आबंटन के लिए उस पिन की गई स्मृति को पुनः प्राप्त करता है. यदि अप्रयुक्त स्मृति की कमी है तो गुब्बारा कोटा को पूरा करने के लिए एक स्मृति स्वैप शुरू किया जा सकता है. यदि यह बहुत अधिक होता है, तो विभिन्न VMs के बीच बहुत सारे I/O ओवरहेड होंगे जो डिस्क के साथ मेमोरी स्वैपिंग कर रहे हैं और वर्चुअल सिस्टम के समग्र प्रदर्शन पर प्रतिकूल प्रभाव डाल सकते हैं.

स्पष्ट लाभ यह है कि एक मेजबान अधिक वीएम का समर्थन कर सकता है बशर्ते कि उनमें से अधिकतर अपने स्मृति आवंटन का अधिकतर समय उपभोग नहीं करेंगे. लेकिन एक ऐसी प्रणाली में जहां अधिकांश वीएम व्यस्त हैं और उनकी आवंटित मेमोरी का अधिकांश हिस्सा खपत करते हैं, तो गुब्बारा प्रदर्शन में गिरावट का कारण हो सकता है. यह किसी भी कंप्यूटर सिस्टम के लिए मेमोरी क्षमता के महत्व पर प्रकाश डालता है.

वर्चुअल सर्वर के लिए भौतिक मेमोरी का अधिक कुशल उपयोग करने के लिए मेमोरी बैलूनिंग अधिकांश वर्चुअलाइजेशन प्लेटफॉर्म की एक विशेषता है. मेमोरी बैलूनिंग आधुनिक वर्चुअलाइज्ड डेटा स्टोरेज आर्किटेक्चर का एक महत्वपूर्ण घटक है. भौतिक और आभासी दोनों प्रकार की संपत्तियों के लिए स्मृति संसाधनों की आवश्यकता होती है, स्मृति का दावा करने, जारी करने और पुनः प्राप्त करने के लिए विभिन्न तरीकों की आवश्यकता होती है. मेमोरी बैलूनिंग एक सामान्य वर्चुअलाइजेशन तकनीक तकनीक है जो वर्चुअल मशीन मेमोरी का उपयोग करती है. मेमोरी बैलूनिंग एक मेमोरी मैनेजमेंट फीचर है जो अधिकांश वर्चुअलाइजेशन प्लेटफॉर्म में पाया जाता है जो एक होस्ट सिस्टम को पहले विभिन्न वर्चुअल मशीनों को आवंटित अप्रयुक्त मेमोरी का उपयोग या पुनः प्राप्त करके अपने मेमोरी पूल को कृत्रिम रूप से विस्तारित करने की अनुमति देता है.

यह अतिथि ऑपरेटिंग सिस्टम पर एक गुब्बारा चालक स्थापित करके पूरा किया जाता है, जिसके साथ हाइपरवाइजर संचार करता है जब उसे गुब्बारे के माध्यम से स्मृति को पुनः प्राप्त करने की आवश्यकता होती है.

आप इसे अधिक हद तक नियमित शारीरिक स्मृति को "खींचने" के रूप में सोच सकते हैं. यह 32 जीबी मेमोरी वाले सर्वर को 64 जीबी तक वर्चुअल मशीनों को होस्ट करने में सक्षम बनाता है (कार्यभार के आधार पर वास्तविक माइलेज अलग-अलग होगा).

एक हाइपरवाइजर क्या है?

वर्चुअलाइजेशन हाइपरवाइजर के भीतर मेमोरी बैलूनिंग होती है. हाइपरवाइजर एक ऐसी तकनीक है जो वर्चुअल मशीन को चलाने में सक्षम बनाती है, सॉफ्टवेयर के लिए वर्चुअल एब्स्ट्रैक्शन लेयर प्रदान करती है. हाइपरवाइजर इन वर्चुअल मशीनों के बीच संचार करता है. VMware ESXi, Microsoft Hyper-V और ओपन-सोर्स Xen और KVM तकनीकों सहित कई हाइपरवाइजर तकनीकों का व्यापक रूप से उपयोग किया जाता है. प्रत्येक हाइपरवाइजर का उपयोग अतिथि वर्चुअल मशीन को सक्षम करने के लिए किया जा सकता है, जो एक सारगर्भित, आभासी दृष्टिकोण में ऑपरेटिंग सिस्टम और एप्लिकेशन चलाते हैं.

हाइपरवाइजर विभिन्न आवश्यकताओं को संभालने के लिए अतिथि वर्चुअल मशीन चलाने के लिए ड्राइवरों का उपयोग करता है, जिसमें वर्चुअल सीपीयू, डिस्क स्थान और मेमोरी जैसे संसाधन की कमी शामिल है. बैलून ड्राइवर वर्चुअल मशीनों पर चलते हैं और हाइपरवाइजर को एक वर्चुअल मशीन से दूसरी वर्चुअल मशीन में मेमोरी को फिर से आवंटित करने में सक्षम बनाते हैं.

वर्चुअलाइजेशन हाइपरवाइजर के संदर्भ में मेमोरी बैलूनिंग होती है. हाइपरवाइजर वह तकनीक है जो सॉफ्टवेयर के लिए वर्चुअल एब्स्ट्रैक्शन लेयर प्रदान करके वर्चुअल मशीन को चलाने की अनुमति देती है. आज, कई हाइपरवाइजर तकनीकों का व्यापक रूप से उपयोग किया जाता है, जिनमें VMware ESXi, Microsoft Hyper-V और ओपन सोर्स Xen और KVM प्रौद्योगिकियां शामिल हैं. प्रत्येक हाइपरवाइजर का उपयोग अतिथि वर्चुअल मशीनों को सक्षम करने के लिए किया जा सकता है, जो वर्चुअलाइज्ड फैशन में ऑपरेटिंग सिस्टम और एप्लिकेशन चलाते हैं. ड्राइवर्स का उपयोग हाइपरविजर द्वारा अतिथि वर्चुअल मशीन चलाने में विभिन्न आवश्यकताओं को संभालने के लिए किया जाता है, जैसे कि वर्चुअल सीपीयू, डिस्क स्पेस और मेमोरी जैसे संसाधन की कमी. बैलून ड्राइवर वर्चुअल मशीनों पर काम करते हैं, जिससे हाइपरवाइजर को एक वर्चुअल मशीन से दूसरी वर्चुअल मशीन में मेमोरी को फिर से आवंटित करने की अनुमति मिलती है.

मेमोरी बैलूनिंग महत्व ?

संसाधन अनुकूलन - मेमोरी बैलूनिंग वर्चुअल मशीन से मेमोरी लेती है जो वर्तमान में सभी उपलब्ध मेमोरी का उपयोग नहीं कर रही है, और फिर अप्रयुक्त मेमोरी को एक वर्चुअल मशीन में पुनः आवंटित करती है जिसे अतिरिक्त संसाधनों की आवश्यकता होती है.

मेमोरी उपलब्धता - मेमोरी बैलूनिंग, मांग या प्रक्रिया में वृद्धि के कारण इसके लिए आवश्यक संसाधनों के साथ वर्चुअल मशीन प्रदान नहीं करने के विपरीत, आवश्यकता पड़ने पर अधिक मेमोरी प्रदान करता है.

कम दाम - मेमोरी दक्षता अधिक भौतिक सर्वरों को तैनात करने या अधिक भौतिक मेमोरी आवंटित करने की आवश्यकता को कम करती है, जिससे अतिरिक्त परिचालन और ऊर्जा लागत लगती है.

मेमोरी बैलूनिंग की प्रक्रिया ?

यह समझना कि हाइपरवाइजर कैसे काम करता है, यह स्वाभाविक रूप से मेमोरी बैलूनिंग की प्रक्रिया से संबंधित है. एक हाइपरविजर परिमित सिस्टम संसाधनों को अमूर्त करता है और फिर उन्हें वर्चुअल मशीन प्रक्रियाओं को चलाने के लिए आवंटित करता है.

होस्ट भौतिक मेमोरी - अंतर्निहित सर्वर या क्लाउड प्लेटफ़ॉर्म में एक निश्चित मात्रा में स्थापित सिस्टम मेमोरी होती है, जो उपलब्ध मेमोरी की पूर्ण कुल मात्रा का प्रतिनिधित्व करती है.

अतिथि भौतिक स्मृति - वर्चुअल मशीन चलाने के लिए संसाधन प्रदान करने के लिए हाइपरवाइजर को मेजबान की भौतिक स्मृति की एक निश्चित मात्रा आवंटित की जाती है. अतिथि भौतिक स्मृति हाइपरवाइजर को उपलब्ध स्मृति की अधिकतम मात्रा है.

अतिथि वर्चुअल मेमोरी - हाइपरवाइजर अपने कुल मेमोरी संसाधनों की एक निश्चित मात्रा को वर्चुअल मेमोरी के रूप में चल रहे अतिथि वर्चुअल मशीन को आवंटित करता है.

मेमोरी बैलूनिंग मॉडल में, एक वर्चुअल मशीन जिसमें 8 जीबी अतिथि वर्चुअल मेमोरी थी जिसे वह उपयोग नहीं कर रहा था, उस रैम के एक हिस्से को दूसरी चल रही वर्चुअल मशीन में पुनः आवंटित किया जा सकता था जिसके लिए अतिरिक्त मेमोरी की आवश्यकता होती थी. बैलून ड्राइवर एक वर्चुअल मशीन से दूसरी वर्चुअल मशीन में मेमोरी आवंटन को ट्रैक करता है. मेमोरी बैलूनिंग का मुख्य उद्देश्य एक वर्चुअल मशीन को एक निश्चित प्रक्रिया या एप्लिकेशन डिमांड स्पाइक को पूरा करने के लिए आवश्यक मेमोरी प्राप्त करने में सक्षम बनाना है. यह तब भी होता है जब उसके पास सामान्य रूप से पर्याप्त मेमोरी आवंटित नहीं होती है.

मेमोरी बैलूनिंग क्यों महत्वपूर्ण है?

ऑपरेटिंग सिस्टम में मेमोरी बैलूनिंग निम्नलिखित कारणों से महत्वपूर्ण है, जैसे:-

संसाधन अनुकूलन: मेमोरी वर्चुअल मशीनों से ली जाती है जो वर्तमान में मेमोरी बैलूनिंग के साथ सभी उपलब्ध मेमोरी का उपयोग नहीं कर रही हैं. अप्रयुक्त स्मृति को एक वर्चुअल मशीन में पुनः आवंटित किया जाता है जिसके लिए अतिरिक्त संसाधनों की आवश्यकता होती है.

मेमोरी की उपलब्धता: मांग या प्रक्रिया में वृद्धि के कारण इसके लिए आवश्यक संसाधनों के साथ वर्चुअल मशीन प्रदान नहीं करने के बजाय, मेमोरी बैलूनिंग जरूरत पड़ने पर अधिक मेमोरी प्रदान करता है.

कम लागत: अधिक कुशलता से मेमोरी का उपयोग करने से, अधिक भौतिक सर्वरों को तैनात करने या अधिक भौतिक मेमोरी आवंटित करने की आवश्यकता कम होती है जो अतिरिक्त परिचालन और ऊर्जा लागत को वहन करती है.

मेमोरी बैलूनिंग कैसे काम करता है?

मेमोरी बैलूनिंग एक कंप्यूटर मेमोरी रिक्लेमेशन तकनीक है जिसका उपयोग हाइपरविजर द्वारा भौतिक होस्ट सिस्टम को कुछ अतिथि वर्चुअल मशीनों (वीएम) से अप्रयुक्त मेमोरी को पुनः प्राप्त करने और इसे दूसरों के साथ साझा करने की अनुमति देने के लिए किया जाता है.

मेमोरी बैलूनिंग अतिथि VMs द्वारा आवश्यक RAM की कुल मात्रा को होस्ट पर उपलब्ध भौतिक RAM की मात्रा से अधिक करने की अनुमति देता है.

जब होस्ट सिस्टम भौतिक RAM संसाधनों पर कम चलता है, तो मेमोरी बैलूनिंग इसे चुनिंदा रूप से VMs को आवंटित करता है.

यदि कोई VM केवल उस मेमोरी के एक हिस्से का उपयोग करता है जिसे उसे आवंटित किया गया था, तो बैलूनिंग तकनीक इसे होस्ट के उपयोग के लिए उपलब्ध कराती है. उदाहरण के लिए, यदि होस्ट पर सभी वीएम को 8 जीबी मेमोरी आवंटित की जाती है, तो कुछ वीएम केवल आधे आवंटित हिस्से का उपयोग करेंगे. इस बीच, एक VM को एक गहन प्रक्रिया के लिए 12 GB मेमोरी की आवश्यकता हो सकती है. मेमोरी बैलूनिंग होस्ट को अप्रयुक्त मेमोरी उधार लेने और उच्च मेमोरी मांग वाले वीएम को आवंटित करने की अनुमति देता है.

अतिथि ऑपरेटिंग सिस्टम VM के अंदर चलता है, जिसे स्मृति का एक भाग आवंटित किया जाता है. इसलिए, अतिथि ओएस उपलब्ध कुल स्मृति से अनजान है. मेमोरी बैलूनिंग अतिथि ऑपरेटिंग सिस्टम को होस्ट की मेमोरी की कमी से अवगत कराता है.

वर्चुअलाइजेशन प्रदाता जैसे VMwareenable मेमोरी बैलूनिंग. होस्ट वीएम पर चलने वाले बैलून ड्राइवरों का उपयोग यह निर्धारित करने के लिए करता है कि वह कम उपयोग वाले वीएम से कितनी मेमोरी ले सकता है. मेमोरी बैलूनिंग तकनीक में भाग लेने वाले किसी भी VM पर बैलून ड्राइवर स्थापित होने चाहिए.

बैलून ड्राइवरों को हाइपरविजर से लक्ष्य गुब्बारे का आकार मिलता है और फिर वीएम के भीतर अतिथि भौतिक पृष्ठों की उचित संख्या आवंटित करके फुलाते हैं. इस प्रक्रिया को गुब्बारे को फुलाने के रूप में जाना जाता है, और उपलब्ध पृष्ठों को छोड़ना गुब्बारे को डिफ्लेट करने के रूप में जाना जाता है.

मेमोरी बैलूनिंग के साथ समस्याएं ?

मेमोरी बैलूनिंग में इसके साथ कुछ समस्याएं हैं, जैसे:-

हाई बैलून मेमोरी यूटिलाइजेशन - बैलूनिंग की समस्याओं में से उच्च उपयोग हो सकता है. यह संभव है कि गुब्बारा चालक इतनी मेमोरी ले सकता है कि हाइपरवाइजर के पास पूर्ण संसाधनों की कमी होती है, जिसे उसे चरम प्रदर्शन पर संचालित करने की आवश्यकता होती है.

प्रदर्शन - यदि कई चल रही वर्चुअल मशीनें एक साथ बैलून मेमोरी का अनुरोध करती हैं, तो सीपीयू और भौतिक डिस्क उपयोग स्पाइक हो सकता है क्योंकि हाइपरवाइजर मेमोरी स्वैपिंग तकनीकों के माध्यम से संसाधनों को खींचता है, जो समग्र सिस्टम प्रदर्शन को और खराब कर देता है.

VMware में बैलूनिंग सॉफ्टवेयर -

VMware की आवश्यकता है कि आप VMware में अपने VM का उपयोग शुरू करने के लिए पहले VM में बैलूनिंग सॉफ़्टवेयर स्थापित करें.

गुब्बारे का आकार इस बात पर निर्भर करता है कि VM को कितनी मेमोरी की आवश्यकता है. आवश्यकता के अनुसार गुब्बारे के आकार को बढ़ाया या घटाया जा सकता है, जिससे मेमोरी बैलूनिंग अधिक गतिशील हो जाती है.

यह सुनिश्चित करने के लिए कि प्रदर्शन को शीर्ष पर रखा गया है, आपके पास सभी होस्ट मशीनों में अच्छी मात्रा में आकार होना चाहिए, क्योंकि बैलून ड्राइवर अन्य सभी होस्ट मशीनों के सक्रिय मेमोरी उपयोग को याद रखेंगे.

यह सिस्टम सुनिश्चित करता है कि वर्तमान उपयोग या सक्रिय मेमोरी में मेमोरी होस्ट मेमोरी से अधिक नहीं होनी चाहिए.

यदि कई वर्चुअल मशीनें एक साथ सक्रिय हो जाती हैं, तो यह हाइपरवाइजर पर अचानक कार्यभार बढ़ा देगा. फिर भी, मेमोरी बैलूनिंग का उपयोग करने का लाभ यह है कि यह प्रदर्शन को कम नहीं करेगा.

जब कई वर्चुअल मशीनें जुड़ती हैं, और यह कनेक्शन में स्पाइक बनाता है. तो यह समस्या भी कनेक्शन में गिरावट नहीं पैदा करेगी.

मेमोरी बैलूनिंग के लाभ -

मेमोरी बैलूनिंग के निम्नलिखित फायदे हैं, जैसे:-

  • यदि कनेक्शन में काम का बोझ बढ़ भी जाता है, तो भी गुब्बारों से सिस्टम खराब नहीं होगा.

  • इस प्रणाली को लागू करने का सबसे बड़ा लाभ यह है कि यह कनेक्शन में उपलब्ध सबसे अधिक मेमोरी का उपयोग करेगा.

  • यह गतिशील है ताकि इस तकनीक को उद्योग या कंपनी की आवश्यकताओं के अनुसार संशोधित किया जा सके.

मेमोरी बैलूनिंग के नुकसान -

मेमोरी बैलूनिंग कार्यान्वयन के लिए एक बहुत अच्छा विकल्प प्रतीत होता है, लेकिन इसके कुछ नुकसान हैं, जैसे:-

संसाधनों का अत्यधिक उपयोग तब होता है जब एक गुब्बारा बहुत अधिक मेमोरी लेता है, और हाइपरवाइजर आने वाले जरूरतमंद गुब्बारों को मेमोरी देने के लिए दुर्लभ हो जाता है.

चूंकि हाइपरवाइजर मेमोरी स्वैपिंग और शेयरिंग सिद्धांत का उपयोग करता है, यदि एक से अधिक वर्चुअल मशीन, निष्क्रिय स्थिति, मेमोरी के लिए अनुरोध करती है, तो यह सिस्टम के प्रदर्शन को बाधित कर सकती है. इसलिए, हमें पारस्परिक बहिष्करण सिद्धांत का उपयोग करना चाहिए.