क्लाउडवॉच की तुलना में शीर्ष एक अलग सीपीयू उपयोग की रिपोर्ट क्यों करता है?


9

topलगभग 20% के चरम समय के दौरान औसत CPU उपयोग दिखाता है जबकि CloudWatch निगरानी 40% के औसत CPU उपयोग को दिखाती है। इस विसंगति का कारण क्या है?

जवाबों:


15

एक बहुत अच्छा अवलोकन और हम इस में भी भाग लिया है। यहाँ मैं क्या पाया:

ईसी 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


दूसरे शब्दों में, वे दोनों सही हैं लेकिन विभिन्न चीजों को माप रहे हैं।
बहमट

1
आप इसे इस तरह से लगा सकते हैं। हालांकि, ओपी चिंतित है कि वह जो सोचता है वह देखता है वह नहीं है जो अमेज़ॅन कहता है वह देखता है। तो, उनके मामले में, शीर्ष डेटा उसके लिए गलत है। लेकिन, यदि आप प्रदर्शन के मुद्दों को डीबग करने के लिए अंतर्निहित कोर के सीपीयू उपयोग को मापेंगे, तो यह शीर्ष पर चलने के लिए बहुत उपयोगी है। यदि आप केवल अपने उदाहरण के उपयोग के बारे में चिंतित हैं, तो क्लाउडवॉच जाने का रास्ता है। तो, हाँ, वे दोनों अलग-अलग चीजों को मापते हैं।
चिड़ा

1
मुझे लगता है कि मुझे अपने बयान का पालन करना चाहिए "पूर्व वह है जो आप सोचते हैं कि आप चाहते हैं, बाद वाला वही है जो आप वास्तव में चाहते हैं", लेकिन मुझे लगा कि पहले से ही कवर किया गया था।
bahamat

+1 जो आपने अभी कहा है उसके लिए :)
Chida

1
मैंने Wayback मशीन से मृत लिंक की सामग्री को पुनः प्राप्त किया और सीधे पोस्ट में जोड़ दिया।
जोहानो फ़िएरा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.