वर्चुअल बॉक्स चलाते समय CPU उपयोग को कैसे कम करें?


12

मैं VirtualBox को चलाते समय अपने सिस्टम के तहत 100% CPU उपयोग के साथ एक समस्या का सामना कर रहा हूं। यहाँ कुछ और विवरण हैं:

मेरी प्रणाली की जानकारी:

CPU 1 नाम: Intel (R) पेंटियम (R) डुअल CPU T2310 @ 1.46GHz
CPU 1 स्तर 1 कैश आकार: 32% डेटा कैश। 32K निर्देश कैश।

CPU 1 स्तर 2 कैश आकार: 1024K एकीकृत कैश।
CPU 1 Mips: 2926.20
CPU 2 नाम: Intel (R) पेंटियम (R) डुअल CPU T2310 @ 1.46GHz
CPU 2 स्तर 1 कैश आकार: 32K डेटा कैश। 32K निर्देश कैश।

सीपीयू 2 स्तर 2 कैश आकार: 1024K एकीकृत कैश।

सीपीयू 2 मिप्स : 2925.96
64 बिट सीपीयू? हाँ!
कुल मेमोरी: 2.0 जीबी
कुल स्वैप: 6141 एमबीटी


मेरे ऑपरेटिंग सिस्टम की जानकारी:

कुबंटु ओएस संस्करण: 11.04
कर्नेल संस्करण: 2.6.38-8-जेनरिक
कर्नेल आर्क: i686
डिफ़ॉल्ट शेल: / बिन / बैश


मेरी वर्चुअल बॉक्स सेटिंग्स:

ओएस प्रकार: विंडोज एक्सपी
वीडियो मेमोरी: 32 एमबी
त्वरण: 3 डी
बेस मेमोरी: 512 एमबी

समस्या का विवरण:

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

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

किसी भी सुझाव / विचारों की बहुत सराहना की जाती है!


तो आपका मतलब है कि आपका वीएम धीरे-धीरे चल रहा है, या आपका सिस्टम पूरी तरह से चल रहा है? आपके पास जो CPU है वह कमजोर है - इसलिए यदि आप VMs चलाते हैं तो मुझे आश्चर्य नहीं होगा कि यह 100% हो जाता है।
11'11

CPU धीमा है, लेकिन मैं Athlon XP 2800+ पर SUSE होस्ट पर XP चला रहा हूं जिसमें कोई समस्या नहीं है और 2 GIB RAM है, और यह सिस्टम मेरे से कई गुना तेज है। यह VirtualBox और XP को बिना किसी समस्या के तटस्थ रूप से चलाने में सक्षम होना चाहिए। प्रासंगिक कंप्यूटर विनिर्देशों की अच्छी सूची के लिए भी +1।
आंद्रेजाको

मैं एक ही कंप्यूटर पर कई ऑपरेटिंग सिस्टम के तहत एक ही समस्या का सामना कर रहा हूं। पहले, मैंने लिनक्स मिंट, उबंटू, स्लैक्स, फेडोरा का उपयोग किया था और यह सब मुझे लगता है कि मैं सीपीयू उपयोग के साथ इसी तरह के मुद्दों का सामना कर रहा था। हालांकि, मेरा मानना ​​है कि अगर मैं अपने वीएम की सेटिंग्स को "ठीक से" कर सकता हूं, तो मैं प्रदर्शन को थोड़ा बढ़ा सकता हूं।
कंपाइलिंगगोर्ग

अस्थायी समाधान जो मैं इस समय उपयोग कर रहा हूं वह एक अनंत लूप है जो पेजकेस, डेंट्री और इनोड्स को हर 10 सेकंड में मुक्त करने के लिए एक बैश कमांड चलाता है। इस अजीब तकनीक का उपयोग करने के बारे में सोचने के बाद मेरा वीएम थोड़ा सांस लेने में सक्षम था, हालांकि यह इसे करने का एक उचित तरीका नहीं है, बल्कि एक "हैक" है।
कंपाइलिंगगोर्ग

1
अफसोस की बात है कि T2310 में वर्चुअलाइजेशन एक्सटेंशन वीटी-एक्स ( ark.intel.com/Product.aspx?id=32431 ) का अभाव है और परिणामस्वरूप वर्चुअलबॉक्स सभी उच्च विशेषाधिकार वाले सीपीयू कॉल को पकड़ने के लिए सॉफ्टवेयर का उपयोग करेगा जो अतिथि बना देगा, इसका मतलब यह होगा वर्चुअलबॉक्स खुद ही अतिथि ओएस के लिए पूरा करने के लिए अधिक सीपीयू शक्ति का उपयोग करेगा। इसके अलावा, मैं अगर अतिथि देने रैम ओएस 1GB मदद कर सकता है यह बेहतर निष्क्रिय के रूप में यह अक्सर के रूप में Virtualbox-मेजबान महंगा पेज दोष करने की ज़रूरत नहीं होगा ... यह देखने के लिए उत्सुक हो जाएगा
Mokubai

जवाबों:


5

T2310 के ऊपर मेरी टिप्पणी पर विस्तार से http://ark.intel.com/Product.aspx?id=32431 पर अपने CPU डेटाशीट के अनुसार वर्चुअलाइजेशन एक्सटेंशन (VT-x) का अभाव है

से यह विकिपीडिया लेख , वहाँ तीन बुनियादी चीजें हैं जो वी एम (और इसलिए मेजबान पर CPU उपयोग में वृद्धि के प्रदर्शन में एक औसत दर्जे का क्षरण के कारण हो जाएगा इस प्रकार हैं:

  • बाइनरी अनुवाद का उपयोग पीओपी की तरह कुछ निर्देशों को फिर से लिखने के लिए किया जाता है, जो अन्यथा खामोशी से विफल हो जाएगा या जब रिंग 0 से ऊपर निष्पादित किया जाएगा तो क्लासिक ट्रैप-एंड-एम्युलेट वर्चुअलाइजेशन को असंभव बना देगा। प्रदर्शन में सुधार करने के लिए, अनुवादित बुनियादी ब्लॉकों को एक सुसंगत तरीके से कैश करना होगा जो कोड पैचिंग (उदाहरण के लिए VxDs में उपयोग किया जाता है) का पता लगाता है, अतिथि ओएस द्वारा पृष्ठों का पुन: उपयोग या यहां तक ​​कि स्व-संशोधित कोड भी।

  • एक प्रोसेसर द्वारा उपयोग किए जाने वाले कई प्रमुख डेटा संरचनाओं को छायांकित करने की आवश्यकता होती है। क्योंकि अधिकांश ऑपरेटिंग सिस्टम पृष्ठांकित वर्चुअल मेमोरी का उपयोग करते हैं, और अतिथि OS को MMU को सीधे एक्सेस देने का अर्थ है वर्चुअलाइजेशन मैनेजर द्वारा नियंत्रण का नुकसान, x86 MMU के कुछ कामों को एक तकनीक का उपयोग करके अतिथि ओएस के लिए सॉफ़्टवेयर में दोहराए जाने की आवश्यकता है छाया पृष्ठ तालिकाओं के रूप में जाना जाता है। इसमें अतिथि ओएस को वास्तविक पेज टेबल एंट्रीज तक पहुंच से वंचित करना, जिसमें एक्सेस प्रयासों को फँसाना और उन्हें सॉफ़्टवेयर के बजाय उनका अनुकरण करना शामिल है।

  • I / O डिवाइस एमुलेशन: अतिथि OS पर असमर्थित डिवाइस को होस्ट OS में चलने वाले डिवाइस एमुलेटर द्वारा अनुकरण किया जाना चाहिए।

एक अतिथि ऑपरेटिंग सिस्टम के संचालन के लिए एक बड़ा ओवरहेड होता है, जिसके लिए विशेषाधिकार प्राप्त निर्देशों के उपयोग की आवश्यकता होती है और आमतौर पर इन ओवरहेड्स को Intels VT-x और AMDs AMD-V वर्चुअलाइजेशन एक्सटेंशन के उपयोग से भारी रूप से कम किया जाता है। आपके प्रोसेसर में इन एक्सटेंशनों की कमी है और इसलिए कैप्चर और एमुलेशन के सभी कार्य कुछ प्रदर्शन हानि का कारण बनेंगे।

मेरे पुनर्मूल्यांकन होंगे:

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

  • 3 डी त्वरण को अक्षम करें क्योंकि 3 डी चालक को सभी कॉल को अच्छी तरह से इम्यूलेशन परत के माध्यम से धकेलना पड़ सकता है और इसलिए यह आपके प्रोसेसर के लिए महंगा हो सकता है।

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

  • अपने अतिथि ऑपरेटिंग सिस्टम में स्क्रीन रिज़ॉल्यूशन और चित्रमय विकल्पों को कम करें।

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


2

मेरा उत्तर केवल प्रश्न के शीर्षक से संबंधित है, प्रश्न के अन्य पाठ के लिए नहीं। मेरा जोर अधिक आभासी मेहमानों के साथ निष्क्रिय सीपीयू उपयोग पर है: (मेजबान पर पर्याप्त मुफ्त मेमोरी)।

audiodg.exeवर्चुअलबॉक्स को चलाते समय विंडोज होस्ट पर प्रक्रिया के कारण सीपीयू का उपयोग स्वयं निष्क्रिय अतिथि के भार से अधिक होता है। ऑडियो टैब पर वर्चुअलबॉक्स अतिथि सेटिंग्स में ऑडियो चेकबॉक्स को अक्षम करके इसे आसानी से कम या पूरी तरह से हटाया जा सकता है । (बंद पुण्य मशीन पर ही अक्षम किया जा सकता है।)

Audiodg.exe प्रक्रिया एक अतिथि के लिए लगभग 5% CPU खपत करती है, लेकिन यह स्रोत संपादन जैसी विशिष्ट निष्क्रिय गतिविधियों के दौरान एक लैपटॉप पर महत्वपूर्ण भार है और इसका CPU आवृत्ति (80% से 40% तक की कमी), प्रशंसक गति पर बड़ा प्रभाव पड़ता है और लैपटॉप पर बैटरी जीवन। मेरी चलने वाली कई आभासी मशीनों को आमतौर पर ध्वनि या केवल कभी-कभी ध्वनि की आवश्यकता नहीं होती है। (अतिथि ओएस में ऑडियो को अक्षम करने का कोई प्रभाव नहीं था, न ही वर्चुअल मशीन का ठहराव, लेकिन वर्चुअलबॉक्स अतिथि सेटिंग्स महत्वपूर्ण हैं।)

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