Yüksek CPU kullanımı ancak oldukça düşük bir yük ortalaması gördüğümüz garip bir davranışla karşı karşıyayız.
Davranış en iyi izleme sistemimizden gelen aşağıdaki grafiklerle gösterilmektedir.
Yaklaşık 11: 57'de CPU kullanımı% 25 ila% 75 arasındadır. Yük ortalaması önemli ölçüde değişmedi.
Her birinde 2 hiper iş parçacığı olan 12 çekirdekli sunucuları çalıştırıyoruz. İşletim sistemi bunu 24 CPU olarak görüyor.
CPU kullanımı verileri /usr/bin/mpstat 60 1
her dakika çalıştırılarak toplanır . all
Satır ve %usr
sütun için veriler yukarıdaki grafikte gösterilmiştir. Bunun "istiflenmiş" kullanımı değil , CPU verisinin ortalamasını gösterdiğinden eminim . Grafikte% 75 kullanım görmemize rağmen, yaklaşık% 2000 “yığılmış” CPU kullanımını gösteren bir işlem görüyoruz top
.
Yük ortalaması, /proc/loadavg
her dakikadan alınmıştır .
uname -a
verir:
Linux ab04 2.6.32-279.el6.x86_64 #1 SMP Wed Jun 13 18:24:36 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux
Linux dağıtımı Red Hat Enterprise Linux Server release 6.3 (Santiago)
Makinelere oldukça ağır yük altında çalışan birkaç Java web uygulaması kullanıyoruz, makine başına 100 istek / saniye olduğunu düşünüyoruz.
CPU kullanım verilerini doğru yorumlarsam,% 75 CPU kullanımına sahip olduğumuzda, CPUlarımızın ortalama% 75 oranında bir işlem gerçekleştirdiği anlamına gelir. Bununla birlikte, eğer CPU'larımız zamanın% 75'iyle meşgulse, daha yüksek yük ortalaması görmemeli miyiz? İşlem sırasındaki sadece 2-4 işimiz varken CPU'lar nasıl% 75 meşgul olabilir?
Verilerimizi doğru yorumluyor muyuz? Bu davranışa ne sebep olabilir?