2016-03-29 9 views
5

मेरे पास एक t2.micro EC2 उदाहरण है, जो लगभग 2% CPU पर चल रहा है। मुझे अन्य पदों से पता है कि TOP में दिखाया गया CPU उपयोग क्लाउडवॉच में रिपोर्ट किए गए CPU से अलग है, और क्लाउडवॉच मान विश्वसनीय होना चाहिए।ईसी 2 क्लाउडवॉच मेमोरी मेट्रिक्स मेल नहीं खाता शीर्ष

हालांकि, मैं के बीच टॉप, CloudWatch, और NewRelic मेमोरी उपयोग के लिए बहुत अलग मान दिखाई दे रही है।

वहाँ उदाहरण पर 1GB RAM के है, और टॉप चलता ~ अपाचे प्रक्रियाओं के 300MB, प्लस ~ अन्य प्रक्रियाओं की 100Mb। टॉप द्वारा रिपोर्ट की गई कुल मेमोरी उपयोग 800 एमबी है। मुझे लगता है कि 400 एमबी ओएस/सिस्टम ओवरहेड है?

हालांकि, क्लाउडवॉच 700 एमबी उपयोग की रिपोर्ट करता है, और न्यूरेलिक 200 एमबी उपयोग की रिपोर्ट करता है (भले ही न्यूरेलिक 300 एमबी अपाचे प्रक्रियाओं को कहीं और रिपोर्ट करता है, इसलिए मैं उन्हें अनदेखा कर रहा हूं)।

CloudWatch स्मृति मीट्रिक अक्सर 80% से अधिक हो जाता है, और मुझे पता है कि क्या वास्तविक मूल्य है करना चाहते हैं, तो मैं जब यदि आवश्यक हो तो पैमाने पर करने के लिए, या कैसे स्मृति उपयोग को कम करने के लिए पता है।

यहाँ हाल की स्मृति प्रोफ़ाइल है, कुछ समय के साथ अधिक स्मृति उपयोग कर रहा है (बड़ा डुबकी या तो अपाचे पुनः आरंभ करने, या शायद जीसी कर रहे हैं?)

Screenshot of memory usage over last 12 days

उत्तर

0

CloudWatch वास्तव में प्रदान नहीं करता है स्मृति के उपयोग के बारे में मैट्रिक्स लगता है ईसी 2 उदाहरण के लिए, आप इस here की पुष्टि कर सकते हैं।

नतीजतन, MemoryUtilization मीट्रिक की बात कर रहे जाहिर है कि कुछ आपके द्वारा कॉन्फ़िगर किए या कुछ अनुप्रयोग आपके उदाहरण पर चल द्वारा धक्का किया जा रहा एक कस्टम मीट्रिक है।

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

जो व्यवहार आप देख रहे हैं वह क्लाउडवॉच समस्या नहीं है।

+2

टिप्पणियों के लिए धन्यवाद। स्पष्ट करने के लिए, मैं अमेज़न द्वारा प्रदान की स्क्रिप्ट का उपयोग कर रहा हूँ स्मृति जानकारी के लिए इस मुकाबले Cloudwatch (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/mon-scripts.html) को स्मृति जानकारी भेजने के लिए टॉप और न्यूरेलिक द्वारा प्रदान किए गए विभिन्न मान दिखाते हैं, इसलिए मैं समझने की कोशिश कर रहा हूं कि सर्वर पर पहुंचने पर यह आकलन करने के लिए सबसे अधिक भरोसा कौन सा है। – Claude

+0

यह वास्तव में दिलचस्प है। मुझे पूरी तरह से यकीन नहीं है कि ये स्क्रिप्ट कैसे काम करती हैं, लेकिन मुझे पता है कि वे आधिकारिक तौर पर समर्थित नहीं हैं। क्या आप Amazon Linux का उपयोग कर रहे हैं? हो सकता है कि स्क्रिप्ट्स अन्य लिनक्स डिस्ट्रोज़ के साथ विश्वसनीय नहीं हैं ... मैं आपको सलाह दूंगा कि आप इसे आधिकारिक एडब्ल्यूएस समर्थन मंचों पर रखें – mickzer

+0

"मुझे पता है कि वे आधिकारिक समर्थित नहीं हैं" - ओपी ने एक लिंक दिया एडब्ल्यूएस दस्तावेज़। तो यह आधिकारिक तौर पर सही है? – HopeKing

2

एडब्ल्यूएस किसी भी ईसी 2 उदाहरण की मेमोरी मेट्रिक्स का समर्थन नहीं करता है। चूंकि अमेज़ॅन ईसी 2 इंस्टेंस (सर्वर) के बाहर से उनकी सभी निगरानी करता है, यह उदाहरण के अंदर मेमोरी मेट्रिक्स को कैप्चर करने में असमर्थ है। लेकिन, एक उदाहरण की पूरी निगरानी के लिए, आपको किसी भी उदाहरण के लिए मेमोरी उपयोग आंकड़े की आवश्यकता होगी, साथ ही उसके सीपीयू उपयोग और नेटवर्क आईओ ऑपरेशंस के साथ। लेकिन, हम क्लाउडवॉच के किसी भी ऐप-स्तरीय डेटा को भेजने के लिए क्लाउडवॉच की कस्टम मीट्रिक सुविधा का उपयोग कर सकते हैं और अमेज़ॅन टूल का उपयोग करके इसकी निगरानी कर सकते हैं। आप अधिक जानकारी के लिए इस ब्लॉग का अनुसरण कर सकते हैं: http://upaang-saxena.strikingly.com/blog/adding-ec2-memory-metrics-to-aws-cloudwatch

आप उस उदाहरण में 5 मिनट अंतराल के लिए एक क्रॉन सेट कर सकते हैं, और क्लाउडवॉच में सभी डेटा पॉइंट देखे जा सकते हैं।

संबंधित मुद्दे