क्या वीएम को स्मृति के एक गोल बेस -2 राशि (2048MB, 4096MB, आदि) देने का कोई कारण है?


26

शीर्षक बहुत कुछ यह सब कहता है, क्या बेस -10 के चक्कर लगाने और 2000MB करने के बजाय VM 2048MB मेमोरी देने का कोई फायदा है?

जवाबों:


10

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


पृष्ठ 4 KiB या 2 MiB हैं, ज्यादातर - यहां तक ​​कि 1234 MiB के भी स्लाइसिंग के साथ कोई वास्तविक समस्या नहीं है?
3

1
@poige सबसे अच्छा मुझे पता है, हाँ, कोई समस्या नहीं है ... हमें वास्तव में किसी ऐसे व्यक्ति की आवश्यकता होगी जो SLAT (एट अलि) को एक निश्चित उत्तर के लिए अंदर और बाहर जानता हो।
क्रिस एस

13

हाइपर- V आंतरिक रूप से 2MB चंक्स में मेमोरी आवंटित करता है। हाइपरवाइजर स्वयं दक्षता के लिए 2MB पेज टेबल प्रविष्टियों का उपयोग करेगा, यदि संभव हो तो, यदि आपका प्रोसेसर सेकंड-लेवल एड्रेस ट्रांसलेशन (SLAT) का समर्थन करता है, तो यह बहुत संभव है कि किसी भी वीएम के साथ डायनामिक मेमोरी बंद हो जाए।

इसके अलावा, कोई बात नहीं।


7

केवल यह स्पष्ट करने के लिए कि अन्य उत्तरों ने क्या कहा है; यहाँ जो सीमा परिभाषित की जा रही है वह मूल रूप से आपके वर्चुअल मशीन के सॉफ्टवेयर के लिए है, अतिथि के लिए नहीं। यही है, जब आपका अतिथि OS मेमोरी के एक पृष्ठ का अनुरोध करता है, तो ऐसा करने से परिभाषित वेतन वृद्धि (यानी, 4KB) होती है। इसलिए यदि आपने 4097KB की रैम के लिए वर्चुअल मशीन को परिभाषित किया है, और आपका होस्ट VM एक 4KB पेज साइज़ का उपयोग कर रहा है, तो यह वर्चुअल मशीन को कुल 4100KB RAM प्रदान करेगा।

यदि अतिथि OS, हालांकि, 1KB पृष्ठ आकार का उपयोग करने के लिए थे, और आपके होस्ट OS ने 4KB पृष्ठ आकार का उपयोग किया था, तो होस्ट OS अनिवार्य रूप से 4KB का स्थान प्रदान करेगा, जिसमें से केवल 1KB का उपयोग किया जाएगा - लेकिन यह सभी OS से बाहर है स्मृति के टुकड़े। तो आप वास्तव में अंतरिक्ष के किसी भी समझदार राशि को बर्बाद नहीं करेंगे।

ध्यान दें, मेजबान ओएस और अतिथि ओएस के बीच संरेखण उस अंतिम "बंद बिट्स" को छोड़कर यहां एक कारक नहीं है।


यह कुछ परिस्थितियों में सही नहीं है: उदाहरण के लिए, वीएम सॉफ्टवेयर पूरी अनुरोधित रैम राशि को आरक्षित कर सकता है (इसके अलावा वीडियो कार्ड और अन्य विविध आवश्यकताओं के लिए जो भी आवश्यक हो) या नेस्टेड पेजिंग / विस्तारित पेज टेबल हार्डवेयर समर्थन का उपयोग करते समय - अतिथि सीपीयू हार्डवेयर का उपयोग करके स्मृति के भौतिक पृष्ठों को प्रभावी ढंग से प्रबंधित करता है। इसके अलावा, 4097KB मेमोरी को संग्रहीत करने से संभवतः 4100KB भौतिक RAM का आवंटन होगा, हालांकि केवल 4097KB अतिथि ऑपरेटिंग सिस्टम द्वारा वास्तव में पता योग्य होगा।
गोइयिक्स

2
मैंने यह नहीं देखा कि आपने जो कहा है वह मेरे उत्तर के साथ है। क्या आप विस्तृत कर सकते हैं?
एंड्रयू एम।

यह आपका इरादा हो सकता है, हालाँकि आपके उत्तर को "आप अनिवार्य रूप से उस अतिरिक्त 1 केबी का उपयोग नहीं कर पाएंगे" - मैंने स्पष्ट करने की कोशिश की कि अतिथि ओएस (सिद्धांत रूप में) उस रैम का उपयोग भले ही 3/4 कर रहा हो। भौतिक पृष्ठ संभवतः अछूता होगा। आपका उत्तर मेरे लिए बहुत स्पष्ट नहीं है। मैंने कुछ खोजशब्द / तकनीकें प्रदान करने का भी प्रयास किया, जिनका उन निर्णयों पर प्रभाव पड़ेगा। पृष्ठ संरेखण मुद्दे ट्रेड ऑफ़ का एक हिस्सा हैं जिन पर विचार करने की आवश्यकता होगी और मुझे लगा कि विशेष रूप से प्रासंगिक प्रभावों का उल्लेख करके उत्तर को बेहतर बनाया जा सकता है।
गोयूइक्स

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

3

मुझे इसकी परंपरा पर संदेह है, और इसे भौतिक प्रणालियों के निर्माण के साथ संरेखित करना है। आधार 2 मात्राओं में भौतिक प्रणालियों की स्मृति होती है (और कम से कम हर x86 के साथ कभी भी, यह सच है), और संभावना कुछ ऐसी है यदि बहुत से OSes स्मृति को प्रबंधित करने की अपेक्षा नहीं करेंगे।

संक्षेप में, यह वास्तव में है क्योंकि एक वर्चुअल मशीन काल्पनिक मशीन के बजाय एक वास्तविक मशीन को दर्शाती है। बहुत तकनीकी जवाब नहीं है, लेकिन मुझे लगता है कि यह वास्तविक है


1

ज़रुरी नहीं। हाइपर- v डायनेमिक मेमोरी केवल तभी आवंटित करेगी जो सिस्टम वैसे भी उपयोग करता है। आपके द्वारा निर्दिष्ट राशि स्टार्टअप मूल्य है। यदि आप डायनेमिक मेमोरी का उपयोग नहीं कर रहे हैं तो मैं केवल यह देख सकता हूं कि भौतिक मेमोरी को वर्चुअल से बेहतर रूप से संरेखित करना है।



-1। देखिए, हाइपर- V में कोई डायनेमिक मेमोरी नहीं है, अगर कोई भी कंफ्यूज नहीं है। और लगता है कि क्या - कुछ यह समझ में नहीं आता है कि इसका उपयोग नहीं किया जाता है (अलोकेशन में समय लगता है, इसलिए एक डेटाबेस सर्वर यह सब iimediately चाहता है, उदाहरण के लिए)। जैसे, जेनेरिक उत्तर प्रासंगिक नहीं है और - वास्तव में - बिल्कुल नहीं पूछा गया था।
टॉमटॉम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.