ps ve top farklı CPU kullanımı verir


2

Buna benzer bir kaç yazı gördüm, en önemlisi İşte , ama cevaplardan pek memnun değildi. Karşılaştırıyorum top ve ps belirli bir süreç üzerinde sonuçlanır ve CPU kullanımında büyük farklılıklar olduğunu görürsünüz. top sürekli yüksekler (> 3-4 aralıklarda>% 50) dahil olmak üzere aralıktan <% 1 ile% 100 arasında değişir ps % 2,2 de sabittir. İzlemekte olduğum sürecin hiçbir çocuğu ya da hiçbir şeyi yok, bu yüzden ne yapacağımdan emin değilim. Beri yüksek süreler devam ettiğinden top, Örnekleme aralığını ekarte edebileceğimi hissediyorum.

Bu gerçekten, bu iki aracın, yukarıda bağlantı kurduğum soru tarafından önerildiği gibi, G / Ç bekleme süresini nasıl karşıladığı konusundaki bir tutarsızlık mıdır?

DÜZENLE:
% 2,1’e dalgalandığını gördüm. ps, ama şimdiye kadar. Çıkış top -p 4522:

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND  
4522 root      16   0  340m 316m 4732 R 54.7  1.3 508:57.46 maui

Çıkış ps u -p 4522:

 USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND  
root      4522  2.2  1.3 348764 324456 ?       Ss   Aug25 509:25 /usr/local/maui/sbin/maui

Diyorsun ki ps asla değişmez ve her zaman 2.2? Çıktısını gönderir misiniz ps ve top Söz konusu komut için böylece bir göz atalım mı?
terdon

@ terdon Orijinal gönderiyi ek bilgilerle güncelledim.
TTT

Yanıtlar:


2

En olası sebep şudur: top yüzde değerlerini yüzde cinsinden gösterir. tek CPU iken ps mevcut toplam CPU gücü yüzdesini gösterir. Top koşmayı ve vurmayı dene vardiya ben tüm çekirdeğin yüzdesini göstermek için çalışırken.

Bu, çok fazla CPU'lu bir sunucu kümesiyse, tanımladığınız normal davranıştır. Ayrıca bakınız İşte .


Evet, 12 çekirdekte çalışıyorum. Bu, ulaştığı% seviyelerini azaltır top Öyle ki, ortalama değer ps, bu yüzden fark olabilir. İşlem şu anda çok daha az aktif, ancak, söylemesi zor ...
TTT

1
@TTT bu klasik bir konudur, vardiya + I olayını keşfetmeden önce beni duvara sürükledi.
terdon

2

Bu soru eski, ama bence cevap yanlış. ps ve top farklı yöntemleri kullanarak CPU kullanımını hesaplar.

Adamın tepesinden:

  1. % CPU - CPU Kullanımı          Görevin geçenler içindeki payı Son ekran güncellemesinden bu yana CPU zamanı , toplam CPU süresinin yüzdesi olarak ifade edilir.

ps'den:

CPU kullanımı şu anda yüzde olarak ifade edilir harcanan zaman   bir işlemin tüm ömrü boyunca devam eder .

Öyleyse, bir hafta önce başlatılmış bir işleminiz olduğunu ve bu süre zarfında ortalama CPU süresinin% 2,2'sini kullandığını varsayalım. Eğer aniden CPU yoğunlaştıysa (sürekli% 100 tüketiyorsa) - ps'e bakarken ilk birkaç saat için aynı% 2.2'yi gözlemleyeceksiniz.


Bu davada yarı haklısın. maui arka planda sürekli çalışır. Ancak, olsa bile ps ve top Aynı zaman diliminde ortalaması alındığında, kabul edilen cevabın belirttiği sorun nedeniyle hala 12 kat fazlalık var. Yani, her iki cevap da kısmen doğrudur.
TTT
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.