Unix 'top' komutundaki CPU değerleri ile karıştırıldı


11

Aşağıdaki ekran görüntüsünde, genel CPU% 3 olarak rapor ediliyor, ancak mysqld işlemi% 57 olarak bildiriliyor. Bu toplam% 3'ün% 57'si midir ve bu nedenle mysqld CPU'nun sadece yaklaşık% 1.5'ini mi kullanıyor?

üst ekran görüntüsü http://img.skitch.com/20090620-cih33piwnnrke6aw41y9p1phwr.jpg

GÜNCELLEME : Aşağıdaki yorum yapanlardan biri '1' tuşuna basmam ve sonuçları yayınlamamı istedi: 1 anahtar http://img.skitch.com/20090620-gayja43s44qtw2wkw4aq642e8c.jpg

Yanıtlar:


11

% 57.6, mysqld'in bir cpu için .576 kullandığı anlamına gelir. Farklılık, bir bütün olarak sistem için veri toplama ve işlem başına veri toplama arasında bir yarış koşulu olabilir.

EDIT: Güncelleme dayalı 16 çekirdek var gibi görünüyor.

57.5% => .575/16 = .036 = 3.6%.

Böylece% 3'ünüz geliyor.

Tüm boş yüzdeleri toplar ve% 1600'den çıkarırsanız, bu da yaklaşık% 57.5'e çıkar.


3

Üst kısım çalışırken 1 numaraya basmayı deneyebilir ve ne olduğunu görebilirsiniz.

Düzenle:

Bay Unknown iyi söylüyor.

top "Bir CPU çekirdeğiniz varsa,% 57.5 meşgul olurdu" diyor.

Ama 16 çekirdeğiniz var. Yani bu 57 sayı her yere yayılıyor, mysqld çok iş parçacıklı ve her şey ...

Biraz kafa karıştırıcı. Ama bence bu üst her çekirdek için bilgi görüntülemek daha zor bulur çünkü ... 16 veya daha fazla çekirdek ile bir üst bilgi hattı hayal!

Ayrıca tüm "% us" CPU zamanlarını toplarsanız

1.7+1.0+2.3+1.0+7.4+11.1+15.1+8.7 = 48.3
48.3/16 = 3.01875

% 3 rakamı buradan geliyor ...


yapılan; güncellenmiş soruya bakın.
Teflon Ted

1

Kimse tavsiye etti htopmi? Bu soruya daha önceki cevaplardan daha fazla yardımcı olacağından değil, ama htophala kullanan birini gördüğümde bahsetmek zorunda hissediyorum top!


0

Topunuzun sahip olduğunuz birden fazla CPU'yu birleştirip birleştirmediğini söyleyemem, ancak bu hala çok mantıklı değil.

Olabilecek olan şey, topun her işlem ve toplam CPU kullanımı için değerleri aynı anda almamasıdır. Mysql'nin işlem bilgilerinin okunması ile genelin okunması arasında çok fazla CPU kullanmaya başlamış veya durmuş olabileceği az bir süre vardır. Sadece basit bir yarış durumu olabilir.

Tabii ki, bu fark edebilmeniz için yeterince uzun olmalıydı, bu yüzden bunun sadece bir yerde garip bir hata veya çekirdeğin muhasebesi olabileceğini tahmin ediyorum.


0

us: userpace - çekirdeğin üstünde koştuğunuz sy: sistem çağrıları - çekirdeğin içinde ne çalışıyor ni: reniced işlemleri id: idle wa: i / o'yu beklerken hi: donanım kesintileri - donanımla uğraşmak için ne kadar zaman harcanır si: yazılım kesintileri - yazılım tarafından oluşturulan kesintilerle (sistem çağrıları vb.) başa çıkmak için ne kadar zaman harcandığı

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.