स्मृति को ओवरकम करने के बारे में आपके द्वारा लिंक किए गए रेडहैट दस्तावेज़ के अनुसार,
"केवीएम हाइपरविजर पर चलने वाली अतिथि वर्चुअल मशीनें उनके पास सौंपी गई भौतिक रैम के ब्लॉक को समर्पित नहीं करती हैं। इसके बजाय, प्रत्येक अतिथि वर्चुअल मशीन एक लिनक्स प्रक्रिया के रूप में कार्य करती है जहां होस्ट भौतिक मशीन के लिनक्स कर्नेल केवल अनुरोध किए जाने पर मेमोरी आवंटित करते हैं।"
इससे यह निर्धारित करने की पूरी स्थिति बन जाती है कि आप प्रत्येक मेजबान को कितनी फजीहत के लिए आवंटित कर सकते हैं, कितना दुर्भाग्यपूर्ण है। एक उपकरण आप VMs के बीच आबंटित स्मृति देखने पर उपयोग कर सकते हैं virsh और उसके फ्रीसेल आदेश।
वायरल के मैन पेज में कहा गया है कि फ़्रीसेल, "मशीन पर या NUMA सेल में मेमोरी की उपलब्ध मात्रा को प्रिंट करता है। फ़्रीसेल कमांड मशीन पर उपलब्ध मेमोरी के तीन अलग-अलग डिस्प्ले में से एक को निर्दिष्ट विकल्पों के आधार पर प्रदान कर सकती है ... । "
KVM- आधारित हाइपरविजर के लिए, आप वर्चुअल शेल virsh
में प्रवेश करने के लिए टर्मिनल में वर्चुअल मशीन शेल कमांड ( ) का उपयोग कर सकते हैं - आपके प्रॉम्प्ट को इसके डिफ़ॉल्ट से बदलना चाहिए virsh #
। फिर, आप list
हाइपरविजर पर वर्चुअल मशीनों की सूची प्रदर्शित करने के लिए कमांड का उपयोग कर सकते हैं ।
वीएम प्रति मेमोरी की मात्रा प्रदर्शित करने के लिए ( list
कमांड द्वारा दिखाए गए इसकी संख्या से ), उपयोग करें:
virsh # freecell <cell_number>
आप --all
वीएम में से प्रत्येक के लिए और पूरे मशीन के लिए आवंटित मेमोरी की मात्रा दिखाने के लिए एक सेल नंबर के बजाय झंडा भी पास कर सकते हैं ।
यह आपको उस कुल मेमोरी का एक अच्छा विचार देना चाहिए जिसके साथ आप काम कर रहे हैं और प्रत्येक वीएम को कितना आवंटित किया गया है। यदि आप तय करते हैं कि आप आवंटित की गई मेमोरी की मात्रा को बदलना चाहते हैं, तो virsh setmem
एक अतिथि डोमेन के लिए मेमोरी आवंटन को बदलने का आदेश भी प्रदान करता है । यह गुण-प्रबंधक द्वारा दिए गए इंटरफ़ेस के समान है, लेकिन अधिक विकल्प और लचीलापन प्रदान करता है। आप के साथ सभी कमांड विकल्प और विवरण पा सकते हैं man virsh
।