top
लगभग 20% के चरम समय के दौरान औसत CPU उपयोग दिखाता है जबकि CloudWatch निगरानी 40% के औसत CPU उपयोग को दिखाती है। इस विसंगति का कारण क्या है?
top
लगभग 20% के चरम समय के दौरान औसत CPU उपयोग दिखाता है जबकि CloudWatch निगरानी 40% के औसत CPU उपयोग को दिखाती है। इस विसंगति का कारण क्या है?
जवाबों:
एक बहुत अच्छा अवलोकन और हम इस में भी भाग लिया है। यहाँ मैं क्या पाया:
ईसी 2 उदाहरण के भीतर से सीपीयू के उपयोग को मापने में सावधानी बरतें। सीपीयू के उपयोग को 100% से कम देखना संभव है - और अभी तक पूरी तरह से अधिकतम हो सकता है। मेरा विश्वास करो: वहाँ गया था, किया। (CloudWatch CPUUtilization, वैसे, उदाहरण के बाहर से मापा जाता है और हमेशा सही होता है।)
यहाँ पूरी बात का बहुत अच्छा वर्णन है: https://axibase.com/news/ec2-monitoring-the-case-of-stolen-cpu/
ऊपर के उदाहरण में, m1.small EC2 का उदाहरण 0.4 प्रोसेसर इकाइयों को आवंटित किया गया था और इसलिए 40% CPU व्यस्त का मतलब अंतर्निहित कोर का प्रतिशत उपयोग है। हालाँकि, क्योंकि 40% अधिकतम CPU हिस्सा है जो इस VM को आवंटित किया जा सकता है, प्रभावी CPU उपयोग 40% / 40% = 100% है। जो CloudWatch द्वारा प्रदर्शित संख्या है।
यदि आप सोच रहे हैं कि 40% कहां से आता है, तो गणित बहुत सरल है। M1.small लिनक्स सिस्टम 1 EC2 कंप्यूट यूनिट का हकदार है जो 1.0-1.2 GHz 2007 Opteron या 2007 Xeon प्रोसेसर के बराबर CPU क्षमता प्रदान करता है। चूंकि वीएम 2.6 गीगाहर्ट्ज घड़ी की गति के साथ एक मशीन पर चलता है, इसलिए यह इस विशेष एक्सईएन नोड पर 38.4% -46.2% प्रोसेसर शेयर का हकदार है। आप अपने EC2 उदाहरणों के पीछे CPU आर्किटेक्चर का पता लगाने के लिए कैट / प्रॉप / cpuinfo कमांड चला सकते हैं।
इस बात पर विशेष ध्यान दें कि उन उपकरणों से कैसे निपटें जो विशेष गणित के बारे में नहीं जानते हैं:
एक अन्य विकल्प जो मौजूदा एजेंट-या एसएनएमपी-आधारित निगरानी उपकरण को फिर से सक्रिय करने के लिए उपयोग किया जा सकता है, जो क्लाउडवॉच के साथ एकीकृत नहीं है, सीपीयू निष्क्रिय मीट्रिक का उपयोग करना है। आपको बस इतना करने की आवश्यकता है कि व्यस्त CPU के बजाय CPU निष्क्रियता को मापने के लिए नियमों को फिर से लिखना है। उदाहरण के लिए, यदि आपके पास CPU व्यस्त के लिए if 75% सीमा है, तो CPU निष्क्रिय के लिए <25% नियम बनाएं। यदि CPU निष्क्रिय 0 है, तो आपका सर्वर CPU बाध्य है।
बहुत आसान। बहुत अच्छा।
जब आप EC2 उदाहरण के भीतर शीर्ष चलाते हैं, तो यह भौतिक कोर मशीन के CPU उपयोग को मापता है जो आपके उदाहरण और अन्य को चला रहा है। यह उपयोग गलत है यदि आप अकेले अपने उदाहरण के cpu उपयोग को मापना चाहते हैं (EC2 गणना इकाई को आपके उदाहरण के लिए सौंपा गया है)।
यही कारण है कि क्लाउडवॉच मेट्रिक्स वास्तविक है क्योंकि यह ईसी 2 कंप्यूट यूनिट (एस) के लिए उदाहरण के लिए बाहरी रूप से मापा जाता है जो अकेले आपके उदाहरण के लिए सौंपा गया है।
यहां देखें- https://forums.aws.amazon.com/thread.jspa?threadID=99993