वर्चुअल मशीन बनाम भौतिक होस्ट का प्रदर्शन अंतर क्या है?


15

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

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

तो मेरा सवाल यह है कि क्या कोई भी मौखिक रूप से मुझे बता सकता है कि वर्चुअल बॉक्स में प्रोसेसर इंटेंसिव टास्क को चलाने से क्या हिट है?

धन्यवाद।

जवाबों:


15

नंबर-क्रंचिंग प्रोग्राम (बहुत सीपीयू-बाउंड) के लिए, वीएम के लिए लगभग शून्य प्रदर्शन हिट होना चाहिए। निर्देश सीधे सीपीयू पर चलते हैं, जो होस्ट और वीएम के लिए समान है।

यहां तक ​​कि गंभीर संकलन कार्यों के लिए, प्रदर्शन अंतर शायद ही ध्यान देने योग्य है। हम विंडोज़ पर VMOS में CentOS VM चलाते हैं।

चूंकि आप होस्ट पर लिनक्स चला रहे हैं, आप वर्चुअल बॉक्स के बजाय KVM (कर्नेल वर्चुअल मशीन) पर भी विचार कर सकते हैं । यह कर्नेल मॉड्यूल की एक श्रृंखला है जो लिनक्स में वर्चुअलाइजेशन सेवाएं प्रदान करता है, अधिकांश आधुनिक सीपीयू पर उपलब्ध इंटेल वीटी-एक्स वर्चुअलाइजेशन एक्सटेंशन का उपयोग करता है। क्यूईएमयू केवीएम का उपयोग होस्ट सीपीयू पर सीधे x86 कोड को चलाने के लिए एक एक्सीलरेटर के रूप में करता है।

बस virt-managerइसे आज़माने के लिए स्थापित करें ।


ठीक है। मैं एक शॉट देता हूँ। उत्तर के लिए धन्यवाद।
औरेलोविच

प्रदर्शन, वार केवीएम, वर्चुअलबॉक्स की तुलना कैसे करता है (आइए लिनक्स सिस्टम पर विंडोज 10 चलाने की बात कहते हैं)?
रॉय

यदि VirtualBox CPU वर्चुअलाइजेशन एक्सटेंशन (जैसे KVM करता है) का लाभ उठा रहा है, तो वे लगभग समान होना चाहिए, और कार्यभार ज्यादातर CPU बाध्य है। यदि कार्य I / O भारी हैं, तो चयनित हार्डवेयर के आधार पर प्रदर्शन भिन्न होगा। KVM में ड्राइवर पर आधारित ड्राइवर (virtio) होते हैं जो कि उत्सर्जित उपकरणों (जैसे E1000 NIC और LSI SCSI डिस्क नियंत्रक) को पार कर सकते हैं। आम तौर पर हालांकि वे यथोचित करीब होना चाहिए।
जोनाथन रेनहार्ट

6

इसका एक भी अच्छा जवाब नहीं है। यह बहुत कुछ इस बात पर निर्भर करता है कि आप एक वीएम और किस प्रोग्राम का उपयोग करते हैं।

जैसे VMWare (एक प्रकार 2 हाइपरविजर) और विशुद्ध रूप से सीपीयू बाउंड प्रोग्राम का उपयोग करके लगभग पूर्ण सीपीयू गति प्राप्त होती है। अगर मैं एक ही हाइपरविजर का उपयोग करता हूं तो बहुत सारे सिस्टम कॉल के साथ एक प्रोग्राम होता है जिससे मुझे एक गंभीर मंदी मिलेगी।

और चीजें तब भी बदलती हैं जब आप टाइप 1 हाइपरवाइजर (कोई अतिथि नहीं) ओएस का उपयोग करते हैं। और यहां तक ​​कि उन लोगों के बीच भी आपके पास बहुत सारी विविधताएं हैं। उदाहरण के लिए 5 (IIRC पिछले सप्ताहांत से FOSDEM एक्सन पर बात करते हुए) एक्सएम मोड के साथ जो यह समर्थन करता है। HW से लेकर para virtualised का उपयोग कर रहे हैं।

पुनरावृत्ति करने के लिए: जैसा कि पूछा गया है यह लगभग कोई मंदी से लेकर गंभीरता से धीमा तक भिन्न हो सकता है।


अब अगर मैं VirtualBox पर ध्यान केंद्रित करता हूं, तो यह एक टाइप 2 हाइपरविजर है। विशुद्ध रूप से सीपीयू बाउंड प्रोग्राम ठीक होना चाहिए।


इन कार्यक्रमों में से अधिकांश एक भाषा को C कोड में रद्दी कर देते हैं और उसे संकलित करते हैं। जब हम एक सिमुलेशन चलाते हैं तो यह संकलन होता है। आप के लिए Accoridng, तो यह ठीक होना चाहिए?
औरेलोविच

मुझे लगता है कि प्रदर्शन ठीक रहेगा। मेरा वर्चुअल बॉक्स अनुभव सीमित है (मैंने ज्यादातर वीएमवेयर वर्कस्टेशन का उपयोग किया है), लेकिन मुझे कोई तकनीकी कारण नहीं दिखता कि यह धीमा क्यों होना चाहिए।
हेन्नेस

प्रदर्शन, वार केवीएम, वर्चुअलबॉक्स की तुलना कैसे करता है (आइए लिनक्स सिस्टम पर विंडोज 10 चलाने की बात कहते हैं)?
रॉय

5

दरअसल, ऐसा लगता है कि आप जो कर रहे हैं, उसके लिए डॉकर एक बेहतर विकल्प हो सकता है। डॉकटर कंटेनरों को प्रदान करता है, जो अलग-अलग सैंडबॉक्स होते हैं जो एक ही कर्नेल को चलाते हैं। सिस्टम कॉल / IO ओवरहेड शून्य है, क्योंकि आपकी इन-कंटेनर प्रक्रिया होस्ट पर मौजूद लोगों से अलग नहीं है।

चूंकि आप पहले से ही लिनक्स चला रहे हैं, इसलिए डॉकर आपकी सभी मशीनों को फिर से स्थापित किए बिना एक CentOS वातावरण प्रदान करने का एक शानदार तरीका होगा।

इसके अलावा, मेरी उपयोगिता की जांच करें, स्कूबा जो डॉकटर कंटेनर के अंदर निर्माण जैसी चीजों को चलाना आसान बनाता है। दौड़ने के बजाय makeतुम दौड़ोगे scuba make। बस इतना ही!


मुझे बताएं कि क्या आप इसे आज़माना चाहते हैं और किसी भी मदद की ज़रूरत है।
जोनाथन रीनहार्ट

धन्यवाद लेकिन यह बहुत समय पहले था और इस कदम को करने का निर्णय लिया गया था। लेकिन मैं इसे ध्यान में रखते हुए एक कार्यक्रम चलाऊंगा जिसमें con CentOS को चलाने में समस्या हो।
ऐरावलोविच
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.