मैं अपने आभासी वातावरण में कई कोर कैसे सक्षम करूं?


20

मैंने Oracle VM VirtualBox प्रबंधक का उपयोग करके एक आभासी वातावरण में उबंटू स्थापित किया है और यह बहुत अच्छा काम करता है।

हालाँकि मैं कई कोर सक्षम करना चाहता हूं - जैसा कि मेरी विंडोज मशीन के नीचे की छवि में देखा गया है कि इसमें 2 कोर हैं:

यहाँ छवि विवरण दर्ज करें

अब जब मैं lscpuउबंटू में दौड़ता हूं तो मुझे निम्नलिखित जानकारी मिलती है कि केवल 1 कोर का उपयोग किया जा रहा है:

यहाँ छवि विवरण दर्ज करें

मैंने कई प्रोसेसर को सक्षम करने के लिए वर्चुअल बॉक्स की सेटिंग्स को बदलने की कोशिश की है, लेकिन यह मुझे ऐसा करने की अनुमति नहीं देगा जैसा कि नीचे दी गई छवि में दिखाया गया है:

छवि

मैं अपने आभासी वातावरण में कई कोर (प्रोसेसर) कैसे सक्षम करूं?

जवाबों:


17

अपने VM में 1 से अधिक CPU सक्षम करने के लिए निम्नलिखित सेटिंग्स की आवश्यकता है:

  • सामान्य सेटिंग टैब में 64-बिट वर्चुअल गेस्ट हार्डवेयर (64-बिट मेहमानों के लिए)

    यहाँ छवि विवरण दर्ज करें

  • मदरबोर्ड सेटिंग टैब में I / O APIC सक्षम करें

    यहाँ छवि विवरण दर्ज करें

  • त्वरण टैब में हार्डवेयर वर्चुअलाइजेशन (VT-x / AMD-V) को सक्षम करें

    यहाँ छवि विवरण दर्ज करें

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

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

अतिथि में एक प्रदर्शन को बढ़ावा देने के लिए केवल सॉफ्टवेयर की अपेक्षा की जाती है जो कई कोर का उपयोग करता है। तभी एक निष्पादन कैप के साथ सभी कोर देने से समझ में आता है।


तो यह एक 32 बिट Ubuntu पर संभव नहीं है?

1
नोटिस के लिए @cipricus धन्यवाद, 64-बिट केवल 64-बिट अतिथि के लिए आवश्यक है, ज़ाहिर है।
तक्षक

@ तख्त मैं 32 बिट उबंटू को अतिथि ओएस के रूप में उपयोग कर रहा हूं। मैं कई cpus कैसे सक्षम कर सकता हूं?
smwikipedia

15

यदि आपका VM वर्तमान में चल रहा है (या "सहेजा गया") तो आप उस मान को बदल नहीं सकते हैं। अपने वीएम को पहले बंद करें।


हालांकि यह वास्तव में अच्छा होगा अगर हम रनटाइम पर प्रोसेसर स्वैप कर सकते हैं। यह CPU को नए आयाम प्रदान करेगा।
टॉम ज़ातो -


1

मैं एक मल्टीथ्रेड प्रोग्राम पर काम कर रहा था जो वर्चुअल मशीन पर अनुक्रमिक क्रम में निष्पादित किया गया था। आपके जैसी ही समस्या मुझे भी थी। मैंने इसे ठीक किया:

  1. वर्चुअल मशीन बंद करो या बाहर निकलें।
  2. VMWare लॉन्च करें -> मशीन का चयन करें -> सिस्टम पर क्लिक करें -> प्रोसेसर पर क्लिक करें -> नंबर प्रोसेसर बदलें।
  3. वर्चुअल मशीन प्रारंभ करें।

पहले std :: थ्रेड :: hardware_concurrency () मानक थ्रेड से 1 लौटा, लेकिन, परिवर्तन के बाद यह वर्चुअल मशीन की सेटिंग्स पर सीपीयू की संख्या लौटाता है।

अब, मैं VM पर अपने बहु-स्तरीय कार्यक्रमों को सफलतापूर्वक चलाने में सक्षम था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.