वर्चुअल मशीन में सीपीयू की गति सीमित करना?


29

क्या कोई वर्चुअल मशीन में सीपीयू की गति को सीमित करने के तरीके के बारे में जानता है? या अगर कोई वर्चुअलाइजेशन सॉफ्टवेयर है जो आपको ऐसा करने की अनुमति देता है?

मैं एक सिस्टम के लिए न्यूनतम आवश्यकताओं को खोजने की कोशिश कर रहा हूं, जो कि मेरे पास एक विशिष्ट ओएस छवि है। मैं रैम और हार्ड डिस्क के आकार और कोर की संख्या को सीमित करने के तरीके देखता हूं, लेकिन मुझे सिस्टम कॉन्फ़िगरेशन को वास्तव में अनुकरण करने के लिए सीपीयू को 800 मेगाहर्ट्ज तक धीमा करना होगा। साथ ही, वर्चुअल मशीन चलाने वाला कंप्यूटर विंडोज 7 मशीन है।

जवाबों:


21

मुझे एक ही समस्या के साथ काम सौंपा गया है और मैंने विंडोज 7 (मेजबान के रूप में) और उबंटू (अतिथि के रूप में) पर ओरेकल वर्चुअलबॉक्स स्थापित किया है। मैंने एक स्टैंडअलोन लैपटॉप, HP EliteBook 8540W का इस्तेमाल किया, जिसमें Intl Core i7 1.87 GigHZ और 8Gig रैम पर चलता है।

आपकी स्थापना ठीक से काम करती है, अपने गेस्ट मशीन पर (उदाहरण के लिए, मेरे मामले में, उबंटू) मुख्य मेनू में "मशीन" से "सेटिंग्स ..." चुनें; "सिस्टम" चुनें और "प्रोसेसर" टैब पर क्लिक करें। आप घड़ी की गति (लेबल, "निष्पादन कैप") को बार पर संकेतक को 1 प्रतिशत तक नीचे खिसकाकर समायोजित कर सकते हैं।

मैंने माना कि होस्ट ओएस (मेरे मामले में विंडोज 7) किसी भी घड़ी चक्र का उपभोग नहीं कर रहा था (मैंने "टास्क मैनेजर" की जांच करके इसकी पुष्टि की और मुझे मेजबान मशीन पर जीरो सीपीयू उपयोग पाया गया। मेरे मामले में विंडोज़ 7)। इसलिए, मैंने 100% "निष्पादन कैप" को होस्ट मशीन (जैसे 1.87 गीगाहर्ट्ज) के बराबर किया है। मुझे लगता है कि आपकी मेजबान मशीन घड़ी की गति और 800 MHZ के बीच एक प्रतिशत लेने से, आप प्रतिशत मान का पता लगाने में सक्षम हैं जो 800 से 25Z से मेल खाती है।

आशा है कि ये आपकी मदद करेगा।

शुभकामनाएँ।


9

VMWare ESX और ESXi पर आप एक संसाधन पूल बना सकते हैं और उस पूल के लिए CPU संसाधन सीमित कर सकते हैं। यह आपको उस संसाधन पूल में निर्मित किसी भी सिस्टम की सीपीयू गति को सीमित करने की अनुमति देगा।


मैंने संसाधन पूल विकल्प के बारे में पढ़ा, और सोचा कि यह खिलाड़ी पर लागू होगा। अफसोस की बात है, यह मामला ही नहीं है। और ESX / ESxi स्वतंत्र नहीं हैं ... लेकिन मैं परीक्षण की कोशिश कर सकता हूं और अगर यह वास्तव में काम करता है, तो इसे कुछ और देखें।
आरसीसी

6
ईएसएक्सआई मुफ्त है। (और कुछ और किरदार ...)
तर्ने कल्मन 16

वास्तव में? किसी कारण से मुझे नहीं लगा कि यह था। लेकिन मैं सही किया! यह इंगित करने के लिए बहुत बहुत धन्यवाद।
आरसीसी


2

हालांकि मैं सभी अलग-अलग वर्चुअलाइजेशन तकनीकों पर कोई विशेषज्ञ नहीं हूं, लेकिन मुझे लगता है कि यह संभव नहीं है कि आपको ऐसी सेटिंग मिल जाएगी। हालाँकि, आपको सेटिंग मिल जाएगी (कम से कम MS हाइपर- V) जो आपको एक वर्चुअल मशीन को समग्र होस्ट मशीनों की क्रियाओं के एक प्रतिशत तक सीमित करने की अनुमति देता है। इसलिए यदि आपके पास 2 गीगाहर्ट्ज पर 8 कोर होस्ट चल रहा है, तो आप क्लाइंट वर्चुअल मशीन को एक कोर तक सीमित करने की कोशिश कर सकते हैं, और 45% से अधिक कोर नहीं।

हालांकि, यह बहुत ही क्रूड और उपयुक्त नहीं होगा यदि आप टाइमिंग लूप या कुछ ऐसा करने की कोशिश कर रहे हैं जहां वास्तविक प्रोसेसर की गति खेल में आती है।


मैंने ऐसा करने वाले कुछ कार्यक्रमों को देखा - अर्थात् प्रति प्रक्रिया में CPU उपयोग का प्रतिशत सीमित है - लेकिन केवल लिनक्स विकल्पों को देखा था। दी, मैंने उनमें बहुत कुछ नहीं देखा है। अगर मैं मैक्समेकी की प्रतिक्रिया के रूप में वर्णित समाधान काम नहीं कर रहा हूं, तो मैं इन विकल्पों पर ध्यान दूंगा।
आरसीसी

हाँ, इससे टाइमिंग लूप पर वास्तविक बुरा प्रभाव पड़ सकता है। यह सब इस बात पर निर्भर करता है कि यह 45% तक पूर्ण गति से चलता है या फिर कट जाता है, या यदि यह वास्तव में 45% पर चलने का प्रयास करता है।
ज़ान लिंक्स

2

- cpuexecutioncap <1-100>: यह सेटिंग इस बात को नियंत्रित करती है कि वर्चुअल सीपीयू कितना सीपीयू समय का उपयोग कर सकता है। 50 का मान एकल वर्चुअल CPU का उपयोग करता है जो एकल होस्ट CPU के 50% तक का उपयोग कर सकता है।


1
अधिक जानकारी इस उत्तर को स्वीकार्य बनाएगी।
रामहाउंड

1

मैं पुष्टि कर सकता हूं कि यह VirtualBox में समर्थित नहीं है। हालाँकि, प्रलेखन के लिए iffy पर लगता है कि VMware यह करने में सक्षम है या नहीं।

EDIT: VMware के लिए: "यह प्लेयर और सर्वर उत्पादों के साथ संभव नहीं है, लेकिन मेरा मानना ​​है कि यह ESXi (मुफ्त" नंगे-धातु हाइपरवाइजर "उत्पाद) और VMWare वर्कस्टेशन जैसे उत्पादों के लिए भुगतान किया गया है।"


मैं इस बात की पुष्टि कर सकता हूं कि - मैंने सब कुछ VirtualBox पर सेट किया है, फिर उस खोज की। मैं वर्तमान में VMware का उपयोग कर रहा हूं और host.cpukHz को 800000 तक सीमित करने के लिए config.ini फ़ाइल को संशोधित करने की कोशिश की है। यह वर्चुअल मशीन को सीपीयू मेगाहर्ट्ज 800 में सोचने के लिए बिगाड़ता प्रतीत होता है। मुझे यकीन नहीं है कि यह वास्तव में वही होगा जो मैं चाहता हूं यह है, लेकिन यह है कि मैं क्या उम्मीद कर रहा हूँ। विचार?
आरसीसी

मैंने जो देखा है उससे काम करना चाहिए। बस यह सुनिश्चित करें कि आप उसी config फाइल में host.noTSC = "TRUE" सेट करें। यह CPU घड़ी को नियंत्रित करता है ताकि यह सुनिश्चित हो सके कि यह धीमा न हो। इसके अलावा, अतिथि ऑपरेटिंग सिस्टम में, विकल्प टैब पर जाएं और सुनिश्चित करें कि वर्चुअल मशीन और होस्ट ऑपरेटिंग सिस्टम के बीच टाइम सिंक्रनाइज़ेशन का चयन किया गया है।
n0pe

हां, मेरे पास host.noTSc = "TRUE" भी है। यद्यपि vmware प्लेयर में vm और होस्ट के बीच टाइम सिंकिंग को सक्षम करने के लिए मुझे पता नहीं चल पाया है ...
RCC

मुझे पूरा यकीन है कि आपको
बजे

1

आप सीपीयू पिनिंग के साथ इसे अनुकरण करने में सक्षम हो सकते हैं। फिर उसी सीपीयू में पिन की गई कुछ सीपीयू बाउंड प्रोसेस बनाएं। अनुमानित CPU गति (वास्तविक CPU गति / # प्रक्रियाओं की) है।

कुछ संसाधन सीमित सॉफ्टवेयर आपको संसाधन प्रतिशत को सीमित करने की अनुमति देगा। इससे सीपीयू की गति को सीमित करना आसान हो जाएगा। ऐसा करने के लिए आपको अतिरिक्त संसाधनों तक पहुंच को अक्षम करना होगा।


0

VirtualBOX पर एक स्लाइडर है जहाँ आप होस्ट CPU के% को कॉन्फ़िगर कर सकते हैं जिसे अतिथि CPU उपयोग कर सकते हैं। ऐसा प्रतिशत प्रत्येक कोर पर लागू होता है।

वर्चुअलबॉक्स पर, प्रत्येक कोर पर अलग-अलग गति वाले मल्टी-कोर को अनुकरण करने का कोई तरीका नहीं है, सभी कोर के लिए केवल एक स्लाइडर।

स्लाइडर को 50% पर सेट करने से अतिथि कोर को 1/2 होस्ट कोर (प्रति कोर बेसिक्स) पर चलाने की सुविधा मिलेगी।

इसलिए यदि आपके पास मेजबान पर डेका कोर (10 कोर) है और अतिथि (तीन) पर एक त्रिकोणीय कोर है, और आप वाई मेगाहर्ट्ज पर होस्ट रन के दौरान अतिथि चलाना चाहते हैं, तो प्रतिशत की गणना करने के लिए कोर की संख्या को अनदेखा करें।

सूत्र होगा: प्रतिशत = 100 * X / Y

आशा है कि यह भविष्य में अन्य लोगों को यहां आने में मदद करेगा।

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