top
CloudWatch izlemesi ortalama% 40 CPU kullanımını gösterirken, en yoğun zamanlarda ortalama% 20 CPU kullanımını gösterir. Bu tutarsızlığa ne sebep olur?
top
CloudWatch izlemesi ortalama% 40 CPU kullanımını gösterirken, en yoğun zamanlarda ortalama% 20 CPU kullanımını gösterir. Bu tutarsızlığa ne sebep olur?
Yanıtlar:
Çok iyi bir gözlem ve bununla da karşılaştık. İşte bulduğum:
EC2 yönetim ortamından CPU kullanımını ölçerken dikkatli olun. CPU kullanımını% 100'ün çok altında görmek mümkündür ve yine de tamamen maksimize edilebilir. Güven bana: orada bulundum, bunu yaptım. (Bu arada CloudWatch CPUUtilization, örneğin dışından ölçülür ve her zaman doğrudur.)
Burada her şeyin çok iyi bir açıklaması var: https://axibase.com/news/ec2-monitoring-the-case-of-stolen-cpu/
Yukarıdaki örnekte, m1.small EC2 örneğine 0,4 işlemci birimi tahsis edildi ve bu nedenle% 40 CPU meşgul, alttaki çekirdeğin kullanım yüzdesi anlamına gelir. Ancak% 40, bu VM'ye ayrılabilecek maksimum CPU paylaşımı olduğundan, etkin CPU kullanımı% 40 /% 40 =% 100'dür. CloudWatch tarafından görüntülenen sayıdır.
Eğer% 40'ın nereden geldiğini merak ediyorsanız, matematik oldukça basittir. M1.small linux sistemi, 1.0–1.2 GHz 2007 Opteron veya 2007 Xeon işlemcinin eşdeğer CPU kapasitesini sağlayan 1 EC2 hesaplama birimine sahiptir. VM 2,6 GHz saat hızına sahip bir makinede çalıştığından, bu özel XEN düğümünde% 38,4 -% 46,2 işlemci payı alma hakkına sahiptir. EC2 bulut sunucularınızın arkasındaki CPU mimarisini bulmak için cat / proc / cpuinfo komutunu çalıştırabilirsiniz.
Özel matematik hakkında bilmeyen araçlarla nasıl başa çıkılacağına dair ipucuna özellikle dikkat edin:
CloudWatch ile entegre olmayan mevcut ajan veya SNMP tabanlı izleme araçlarını uyarlamak için kullanılabilecek bir başka seçenek de CPU boşta metriğini kullanmaktır. Yapmanız gereken tek şey meşgul CPU yerine CPU boşta ölçmek için kuralları yeniden yazmaktır. Meşgul CPU için tanımlanmış bir>% 75 eşiğiniz varsa, CPU boşta için <% 25 kuralı oluşturun. CPU boşta 0 ise, sunucunuz CPU'ya bağlıdır.
Çok basit. Çok hoş.
EC2 yönetim ortamı içinde en üstte çalıştırdığınızda, yönetim ortamınızı ve diğerlerini çalıştıran fiziksel çekirdek makinenin CPU kullanımı ölçülür. Yalnızca örneğinizin cpu kullanımını ölçmek istiyorsanız bu örnek yanlıştır (örneğinize atanan EC2 hesaplama birimi).
Bu nedenle bulut saati metrikleri, yalnızca örneğinize atanan EC2 hesaplama birimleri için yönetim ortamının dışında ölçüldüğünden gerçek olur.
Buraya bakın - https://forums.aws.amazon.com/thread.jspa?threadID=99993