वर्चुअल मशीन में CPU उपयोग


2

मेरे पास एक होस्ट मशीन है जिसमें 1 तार्किक प्रोसेसर है जो 2.0GHz पर 2 VMs के साथ चल रहा है। प्रत्येक VM 100% उपयोग (VM के अंदर टास्क मैनेजर के अनुसार) पर चल रहा है। मुझे एहसास है कि यह "100%" इस अर्थ में सटीक नहीं है कि वास्तव में, प्रत्येक वीएम होस्ट मशीन के उपलब्ध सीपीयू संसाधनों के लगभग 50% का उपयोग कर रहा है। अगर मैं वीएम में से एक को बंद कर देता हूं, तो केवल चल रहे वीएम वास्तव में भौतिक सीपीयू के 100% का उपयोग करेंगे।

यह प्रक्रिया कैसे काम करती है? यदि भौतिक प्रोसेसर 2.0GHz पर चलता है, तो क्या हम अनिवार्य रूप से दो वर्चुअल प्रोसेसर बना रहे हैं जो प्रत्येक 1.0GHz पर चलते हैं? इसलिए जब हम दोनों VMs पर 100% उपयोग देखते हैं, तो हम प्रत्येक पर 100% 1.0GHz की बात कर रहे हैं? वह प्रतिशत उपयोग पहली जगह में कैसे प्राप्त होता है?

धन्यवाद!

जवाबों:


4

वर्चुअल मशीन के अंदर जो उपयोग आप देखते हैं, वह सीपीयू को उस समय का प्रतिशत है, जो उसे मिला या नहीं। अनिवार्य रूप से, 100% का मतलब है कि वर्चुअल मशीन के लिए उपलब्ध सीपीयू का 100%।

यदि भौतिक प्रोसेसर 2.0GHz पर चलता है, तो वर्चुअल प्रोसेसर करें। हालाँकि, क्योंकि केवल एक वास्तविक कोर है, एक समय में केवल एक वर्चुअल प्रोसेसर चल सकता है। जब आप दोनों वीएम पर 100% उपयोग देखते हैं, तो आप प्रत्येक वीएम के बारे में बात कर रहे हैं जो हमेशा सीपीयू जितना चाहे उतना प्राप्त कर सकता है। आमतौर पर, वे प्रत्येक उपलब्ध CPU के 50% के करीब होंगे।

इस तरह की बातें न कहें: "इसलिए जब हम दोनों वीएम पर 100% उपयोग देखते हैं, तो हम प्रत्येक के लिए 100GHz के 1.0GHz के बारे में बात कर रहे हैं?" वह मूल रूप से बकवास है। अगर आपको हर दूसरे दिन 50 मील प्रति घंटे की रफ्तार से चलने वाली कार का उपयोग करने को मिलता है, तो हम इसका वर्णन नहीं करते हैं कि 25 मील प्रति घंटे के 100% के रूप में। दरें इस तरह से काम नहीं करती हैं। सीपीयू में काम करने की कुछ क्षमता होती है, और वर्चुअल मशीनें साझा करती हैं। यदि प्रत्येक चाहता है कि वे सभी प्राप्त कर सकें, तो प्रत्येक को काम करने की सीपीयू की क्षमता का लगभग 50% प्राप्त होता है। 2.0GHz कोर क्लॉक स्पीड है , काम करने की क्षमता नहीं। तो यह कोई मतलब नहीं है कि विभाजित करने के लिए।


1

एक भौतिक सीपीयू कोर पर एक बार में केवल एक ही वीएम चल सकता है। Vmkernel बहुत तेजी से VMs के बीच सीपीयू कोर को स्विच करता है। आपको ऐसा लगता है जैसे वे एक ही समय में एक ही सीपीयू पर चलते हैं।


एक प्रश्न: यदि होस्ट और सभी वीएम वर्तमान में पूरी तरह से फैल गए हैं, तो प्रत्येक वीएम को सीपीयू की पूर्ण गणना शक्ति नहीं मिलती है। क्या वो सही है? यदि आपके पास 2 GHz und 2 VMs के साथ 1 कोर है तो प्रभावी रूप से प्रत्येक एकल VM 2 GHz का उपभोग नहीं कर सकता है क्योंकि यह CPU कोर VMs के बीच साझा किया गया है। लेकिन फिर भी, प्रत्येक वीएम "देखता है" कि तार्किक सीपीयू में 2 गीगाहर्ट्ज की गणना शक्ति है (जो पूरी तरह से सच नहीं है)। क्या मैं सही हू?
PAX
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.