सीपीयू रेडी: द साइलेंट हाइपरवाइजर किलर



समस्याओं को खत्म करने के लिए हमारे साधन का प्रयास करें

सीपीयू रेडी एक ऐसी चीज है जिससे आप परिचित नहीं हो सकते हैं। पहली बार में, यह एक अच्छी बात की तरह लग सकता है लेकिन दुर्भाग्य से यह नहीं है। सीपीयू रेडी वर्चुअल वातावरण को अधिक समय तक टाल रहा है, क्योंकि हम जानते थे कि यह क्या था। VMware इसे 'समय की प्रतिशतता' के रूप में परिभाषित करता है कि वर्चुअल मशीन तैयार थी, लेकिन भौतिक सीपीयू पर चलने के लिए शेड्यूल नहीं किया जा सका। CPU तैयार समय मेजबान और उनके CPU लोड पर वर्चुअल मशीनों की संख्या पर निर्भर है। ' हाइपर- V ने हाल ही में इस काउंटर (हाइपर- V हाइपरविजर वर्चुअल प्रोसेसर CPU प्रतीक्षा समय प्रति डिस्पैच) प्रदान करना शुरू किया और अन्य हाइपरविजर अभी भी इस मीट्रिक को प्रदान नहीं कर सकते हैं।



CPU रेडी क्या है, यह समझने के लिए, हमें यह समझने की आवश्यकता होगी कि हाइपरविज़र भौतिक CPU (pCPU) में वर्चुअल CPU (vCPU) को कैसे शेड्यूल करते हैं। जब वीसीएमयू में वीसीपीयू समय की आवश्यकता होती है, तो इसे वीसीपीयू (एस) को पीपीसीयू (एस) के खिलाफ निर्धारित करने की आवश्यकता होती है, ताकि कमांड / प्रक्रिया / थ्रेड pCPU के खिलाफ चल सकें। एक आदर्श दुनिया में, ऐसा होने के लिए कोई संसाधन संघर्ष या अड़चनें नहीं होती हैं। जब एक एकल वीसीपीयू वीएम को एक पीपीसीयू के खिलाफ समय निर्धारित करने की आवश्यकता होती है, तो एक पीपीसीयू कोर उपलब्ध होता है और सीपीयू रेडी इस आदर्श दुनिया में बहुत कम है। यह ध्यान रखना महत्वपूर्ण है कि सीपीयू रेडी हमेशा मौजूद है लेकिन एक आदर्श दुनिया में यह बहुत कम है और ध्यान नहीं दिया जाता है।



वास्तविक दुनिया में, वर्चुअलाइजेशन के लाभों में से एक यह है कि आप शर्त लगा सकते हैं कि आपके कई वीएम एक ही समय में अपने सभी वीसीपीयू को स्पाइक नहीं देंगे और यदि वे बहुत कम उपयोग वीएम हैं, तो आप यह अनुमान भी लगा सकते हैं कि आप कितना CPU उपयोग और RAM उपयोग के आधार पर अपने भौतिक होस्ट को लोड करें। पूर्व में, कार्यभार के आधार पर 4 vCPU से 1 pCPU या 10: 1 अनुपात की सिफारिशें की गई थीं। उदाहरण के लिए, आपके पास एक एकल क्वाड कोर प्रोसेसर हो सकता है, लेकिन आपके पास 4 वीपीयू के साथ 4 वीएम हैं, जो आपको 4 पीपीसीयू या 4: 1 में 16 वीसीपीयू देने के लिए हैं। हालांकि इंजीनियर यह देखना शुरू कर रहे थे कि वातावरण बहुत धीमा था और वे इसका पता नहीं लगा सके। रैम का उपयोग ठीक लग रहा था, भौतिक होस्ट पर सीपीयू का उपयोग 20% से कम हो सकता है। भंडारण विलंबता बहुत कम थी, फिर भी वीएम बेहद सुस्त थे।



इस परिदृश्य में क्या हो रहा था सीपीयू रेडी था। वीसीपीयू का एक कतार निर्माण था जो शेड्यूल किए जाने के लिए तैयार है लेकिन इसके खिलाफ शेड्यूल करने के लिए कोई पीसीपीयू उपलब्ध नहीं है। हाइपरवाइजर शेड्यूलिंग को रोक देगा और अतिथि VM के लिए विलंबता का कारण होगा। यह एक मूक हत्यारा है कि हाल के वर्षों तक, पता लगाने के लिए कई उपकरण नहीं थे। एक विंडोज वीएम में, यह हमेशा के लिए बूट होगा और फिर जब यह अंततः होता है, जब आप स्टार्ट मेनू पर क्लिक करते हैं, तो यह हमेशा के लिए दिखाई देगा। आप यह सोचकर भी इसे फिर से क्लिक कर सकते हैं कि यह आपके पहले क्लिक को स्वीकार नहीं करता है और जब यह अंततः पकड़ लेता है, तो आपको एक डबल क्लिक मिलेगा। लिनक्स पर, आपका वीएम केवल मोड में पढ़ने के लिए बूट हो सकता है या यहां तक ​​कि बाद में किसी बिंदु पर केवल मोड को पढ़ने के लिए फाइल सिस्टम को स्विच कर सकता है।

तो हम CPU रेडी का मुकाबला कैसे करें? कुछ तरीके हैं जो मदद कर सकते हैं। पहले CPU रेडी मेट्रिक्स की निगरानी कर रहा है। VMware में, इसे 10% से ऊपर जाने की अनुशंसा नहीं की जाती है, लेकिन व्यक्तिगत अनुभव में, उपयोगकर्ता VM के प्रकार और यह क्या चल रहा है, इसके आधार पर 5-7% से ऊपर की सूचना देना शुरू कर देते हैं।

नीचे मैं CPU तैयार दिखाने के लिए VMware ESXi 5.5 से कुछ उदाहरणों का उपयोग करूंगा। कमांड लाइन का उपयोग करते हुए, 'esxtop' चलाएं। CPU दृश्य के लिए 'c' दबाएं और आपको एक कॉलम देखना चाहिए ' % RDY 'सीपीयू के लिए तैयार है। आप पूंजी दबा सकते हैं ” वी 'वीएम केवल दृश्य के लिए।



सीपीयू के लिए तैयार-1

यहां आप देख सकते हैं कि काफी अप्रयुक्त वातावरण के लिए% RDY कुछ अधिक है। इस मामले में, मेरा ESXi 5.5 VMware फ्यूजन (मैक हाइपरवाइजर) के ऊपर एक परीक्षण वीएम चल रहा है, इसलिए यह उच्च अंत पर थोड़ा सा होने की उम्मीद है क्योंकि हम एक हाइपरविजर पर एक अन्य हाइपरविजर के ऊपर एक वीएम चला रहे हैं।

VSphere क्लाइंट में, आप विशिष्ट VM को खींच सकते हैं और प्रदर्शन टैब पर क्लिक कर सकते हैं। वहां से 'चार्ट विकल्प' पर क्लिक करें

सीपीयू के लिए तैयार-2

चार्ट विकल्पों के भीतर, सीपीयू, रीयल-टाइम चुनें (यदि आपके पास vCenter है तो आपके पास वास्तविक समय की तुलना में अन्य समय विकल्प हो सकते हैं)। काउंटर्स में वहाँ से, 'रेडी' चुनें। आपको एक अलग काउंटर को अचयनित करने की आवश्यकता हो सकती है क्योंकि दृश्य केवल किसी भी समय दो डेटा प्रकारों की अनुमति देता है।

सीपीयू के लिए तैयार -3

आप ध्यान देंगे कि यह मान तैयार बनाम प्रतिशत का एक सारांश है। यहाँ संक्षेप में मैट्रिक्स को प्रतिशत में कैसे परिवर्तित किया जाए, इस पर VMware KB लेख का लिंक दिया गया है। - https://kb.vmware.com/kb/2002181

हार्डवेयर खरीदते समय अधिक कोर सीपीयू रेडी के प्रभाव को कम करने में मदद करता है। हाइपरथ्रेडिंग भी मदद करता है। जबकि हाइपरथ्रेडिंग प्रत्येक प्राथमिक कोर के लिए एक पूर्ण दूसरा कोर प्रदान नहीं करता है, यह आमतौर पर vCPU को pCPU को शेड्यूल करने और समस्या को कम करने में मदद करने के लिए पर्याप्त है। हालांकि हाइपरविजर vCPU से pCPU अनुपात की अनुशंसा से दूर जाने लगे हैं, आप आमतौर पर 4: 1 के साथ मध्यम उपयोग किए गए वातावरण पर अच्छा कर सकते हैं और वहां से जा सकते हैं। जैसे ही आप VM लोड करना शुरू करते हैं, CPU विलंबता, CPU तैयार और समग्र अनुभव और प्रदर्शन को देखते हैं। यदि आपके पास कुछ भारी एचएमटी हैं, तो आप उन्हें अन्य समूहों पर अलग करना चाहते हैं और कम अनुपात का उपयोग कर सकते हैं और उन्हें हल्का रख सकते हैं। दूसरी ओर वीएम के लिए जहां प्रदर्शन महत्वपूर्ण नहीं है और यह उनके लिए ठीक है कि आप बहुत अधिक सदस्यता ले सकते हैं।

वीपीएन का मुकाबला करने के लिए वीएम को उचित रूप से आकार देना भी एक बहुत बड़ा साधन है। कई विक्रेता विनिर्देशों की अच्छी तरह से सिफारिश करते हैं कि वीएम को वास्तव में क्या चाहिए। परंपरागत रूप से अधिक सीपीयू और अधिक कोर = अधिक शक्ति। आभासी वातावरण में समस्या यह है कि हाइपरविजर को सभी vCPUs को pCPUs में लगभग एक ही समय पर शेड्यूल करना पड़ता है और pCPUs को लॉक करना समस्याग्रस्त हो सकता है। यदि आपके पास 8 वीसीपीयू वीएम है, तो आपको एक ही समय में शेड्यूल करने की अनुमति देने के लिए 8 पीसीपीयू को लॉक करना होगा। यदि आपका वीसीपीयू वीएम किसी भी समय कुल वीसीपीयू के 10% का उपयोग करता है, तो आप वीसीपीयू काउंट को 2 या 4 से नीचे लाना बेहतर समझते हैं। 50-80% सीपीयू पर वीएमयू को 10% से कम वीपीयू में चलाना बेहतर है। अधिक वीसीपीयू। यह समस्या आंशिक रूप से है क्योंकि ऑपरेटिंग सिस्टम CPU अनुसूचक को अधिक से अधिक कोर का उपयोग करने के लिए डिज़ाइन किया गया है, जबकि यदि इसे अधिक उपयोग करने से पहले कोर को अधिकतम करने के लिए प्रशिक्षित किया गया था, तो यह एक समस्या से कम हो सकता है। एक ओवरसाइज्ड वीएम अच्छा प्रदर्शन कर सकता है, लेकिन अन्य वीएम के लिए 'शोर पड़ोसी' हो सकता है, इसलिए यह आमतौर पर एक प्रक्रिया है जहां आपको क्लस्टर में सभी वीएम के माध्यम से 'सही आकार' में जाना पड़ता है ताकि कुछ प्रदर्शन लाभ देखने के लिए।

कई बार आप CPU रेडी में चले गए हैं और सही साइज़ VMs शुरू करना या प्रोसेसर को अधिक कोर के साथ अपग्रेड करना मुश्किल है। यदि आप इस स्थिति में हैं, तो अपने क्लस्टर में अधिक होस्ट जोड़ना अधिक होस्ट में लोड को फैलाने के लिए सहायता कर सकता है। यदि आपके पास दूसरों की तुलना में अधिक कोर / प्रोसेसर वाले मेजबान हैं, तो इन उच्च कोर होस्टों को उच्च वीसीपीयू वीएम को पेग करने से भी मदद मिल सकती है। आप अपने भौतिक मेजबान को सुनिश्चित करना चाहते हैं, क्योंकि वीएमयू से अधिक नहीं तो कम से कम एक ही संख्या में कोर हैं, अन्यथा यह बहुत धीमी गति से / मुश्किल से वीसीपीयू के पीपीसीयू को शेड्यूल करना मुश्किल होगा क्योंकि उन्हें लगभग उसी समय लॉक करने की आवश्यकता होती है ।

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

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

5 मिनट पढ़े