हाइपर-थ्रेडिंग के साथ क्वाड कोर होस्ट, वर्चुअलबॉक्स में कितने प्रोसेसर कॉन्फ़िगर करने के लिए?


10

मेरे पास हाइपरथ्रेडिंग (8 तार्किक कोर) के साथ क्वाड-कोर i7 प्रोसेसर है, जब मैंने 8 प्रोसेसर का उपयोग करने के लिए एक वर्चुअल मशीन को कॉन्फ़िगर किया था, तो वर्चुअलबॉक्स ने मुझे एक चेतावनी देते हुए कहा कि मेरे पास केवल चार कोर हैं (जो सच है) और यह एक कारण हो सकता है प्रदर्शन की समस्याएं। लेकिन हाइपर-थ्रेडिंग एक हार्डवेयर सुविधा है, इसलिए OS 8 कोर को देखता है और यह सभी को निर्देश भेजता है। 8. क्या होगा यदि इसे 4 पर सेट करने के कारण वीएम 4 कोर के बजाय 2 कोर (4 थ्रेड्स) का उपयोग करें (सभी 4 कोर पर )? क्या मुझे चेतावनी मिली है कि मेरी मशीन में हाइपर-थ्रेडिंग है?

जवाबों:


9

क्रिस्टियन वेसबर्ग द्वारा किए गए बेंचमार्क के आधार पर मैं कहूंगा कि आपको अपने पास मौजूद सभी तार्किक कोर का उपयोग करना चाहिए।
इसके अलावा मैंने अपने स्वयं के बेंचमार्क का उपयोग करके एक ही CPU (i7, 4 CPU with HT) का उपयोग किया, जिसने बहु-थ्रेडेड अनुप्रयोगों के लिए प्रदर्शन को बढ़ावा दिया। यदि अतिथि पीसी (विन। 8.1 x64) ने सभी 8 कोर का उपयोग किया है, तो होस्ट पीसी (उबंटू x64) ने सभी 8 कोर का भी उपयोग किया है।

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

मैंने एकल-थ्रेडेड अनुप्रयोगों में प्रदर्शन की तुलना की। दोनों ही मामलों में मैंने समान मानों को मापा है, इसलिए सीपीयू की भौतिक (लेकिन तार्किक) संख्या से अधिक का उपयोग करके कोई जुर्माना नहीं है।
यहां आप देख सकते हैं कि अतिथि पीसी में 1 सीपीयू पूर्ण लोड मेजबान पीसी में 1 सीपीयू लोड होगा।

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


माना। मैं 4 कोर का उपयोग कर रहा था और पाया कि यह केवल 50% CPU समय लेता है जब मैं अपनी परियोजना का निर्माण करता हूं। फिर चेतावनी के बावजूद, मैं 8 में बदल गया जो तार्किक कोर की संख्या है, बिल्ड 100% CPU समय ले रहा था और मेरा मानना ​​है कि यह पहले की तुलना में तेजी से भाग गया।
दिवाकिंग

यह काफी दिलचस्प है, मुझे याद है कि लिनक्स विशेष रूप से दक्षता बढ़ाने के लिए प्रत्येक भौतिक एचटी कोर से 1 तार्किक कोर पर भार को केंद्रित करने की कोशिश करता है। मुझे आश्चर्य है कि क्या अतिथि लिनक्स कर्नेल को यह देखने के लिए मिलता है कि सीपीयू हाइपर-थ्रेडेड है और उस प्रकार के कॉन्फ़िगरेशन के लिए अपने शेड्यूलिंग को अनुकूलित करें।
एंथनी

8

मैंने पाया कि भले ही यह वर्चुअल बॉक्स में संभव है (और यकीनन तेज) (मेरा अनुभव संस्करण 5.1.0 के साथ था) तार्किक प्रोसेसर के आधार पर एक वीएम को वीसीपीयू आवंटित करने के लिए, उच्च लोड पर चलने पर अतिथि ओएस के अंदर समस्याओं में भाग सकता है। । मेरे मामले में एक 8 कोर उबंटू 16.04 होस्ट पर 12 वीसीपीयू के साथ एक विंडोज 2012 आर 2 वीएम (जो कि 16 तार्किक प्रोसेसर की रिपोर्ट करता है) बीएसपीसी को डीपीसी_ व्हाट्सएपडॉग_विडियो त्रुटि संदेश के साथ उच्च सीपीयू लोड के दौरान करेगा। Osronline.com का उपयोग करते हुए एक मिनीडम्प विश्लेषण ने उल्लंघन का कारण बनने के लिए e1g6032e.sys (Intel 100/1000 नेटवर्क ड्राइवर को मूल निवासी) दिखाया।

यह मुझे विश्वास दिलाता है कि तार्किक प्रोसेसर क्षमता के आधार पर वीसीपीयू आवंटित करने और लंबे समय तक वीएम को उच्च भार पर चलाने पर अतिथि ओएस के अंदर समय नकारात्मक रूप से प्रभावित होता है। मेरे मामले में, कुछ ही मिनटों के लिए विंडोज वीएम के अंदर 100% सीपीयू लोड होने से बीएसओडी का परिणाम होगा। VCPU काउंट को 8 तक कम करने के बाद (जो होस्ट के भौतिक कोर काउंट से मेल खाता है), Windows VM समान उच्च लोड स्थितियों के तहत अब BSOD नहीं करता है। ऑनलाइन प्रलेखन VirtualBox से कहते हैं एक ऐसा करने चाहिए, लेकिन कोई कारण प्रदान नहीं करता है।

मेरे वातावरण में दो अन्य उबंटू वीएम भी चल रहे थे, जिनमें से प्रत्येक में 8 वीसीपीयू थे। Windows VM की BSOD समस्याओं के समय उन पर लोड न्यूनतम था।


बहुत बढ़िया जवाब (सूत्रों के साथ), धन्यवाद! कुछ साल देर से, लेकिन अब मुझे पता है :)
एंथोनी

2

क्या मुझे चेतावनी मिली है कि मेरी मशीन में हाइपर-थ्रेडिंग है?

हाँ। यदि आप एक वीएम में कोर की संख्या को भौतिक रूप से आपके पास की संख्या से अधिक पर सेट करते हैं, तो सीपीयू संसाधनों पर वर्चुअल बॉक्स में कार्य शेड्यूलिंग प्रक्रिया प्रमुख प्रदर्शन मुद्दों के लिए अग्रणी है।

जैसा कि कोर के पार लोड को वितरित करने के लिए, वह मेजबान ओएस का काम है, और सही मनोर में व्यवहार करना चाहिए।


4
क्या आपके पास अपने बयानों का समर्थन करने के लिए कोई डेटा है? किसी ने envobi.com/post/virtualbox-hyper-threading-benchmark-surprise पर एक शोध किया और वे तार्किक सीपीयू की संख्या के लिए वर्चुअल बॉक्स सीपीयू काउंट सेट करने की सलाह देते हैं ।
मैक्सिम Egorushkin

0

क्या यह वीएम आपकी मशीन के लिए मूल था? यदि आप एक वीएम को क्लोन करते हैं और इसे दूसरी मशीन और / या सेटिंग्स में बदलते हैं तो कभी-कभी आपको अजीबोगरीब त्रुटियां मिलेंगी।
मैं नवीनतम एक्सटेंशन के साथ वर्चुअल बॉक्स के नवीनतम संस्करण को डाउनलोड करने और स्थापित करने की सलाह देता हूं।

मैंने सभी आठ कोर किए हैं और मुझे यह त्रुटि नहीं मिल रही है कि मेरे i7 के साथ Ubuntu 13.10 के साथ एक वीएम चल रहा है।

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