2010-12-01 5 views
9

Beni kızdıran bir sorunum var. BenÜst toplu iş modunda CPU kullanımı

top -b -n 1

Sorun toplu modunda 100 kez top çalıştırabilirsiniz ama CPU kullanımı asla orijinal değerine geçmiş değiştirir, şu komutla toplu modunda üst çalıştırıyorum. Bellek kullanımı beklendiği gibi değişir ancak CPU aynı kalır. Farklı bir pencerede aynı anda başka bir üst çalıştırırsam, CPU kullanımı o üst kısım için değişiyor ancak toplu iş modunda üst kısım için değil.

Temel olarak CPU istatistikleri toplu iş modunda değişmiyor ve etkileşimli modda çalışıyor. Nedenini bilen var mı? Kendiniz deneyin, yukarıdaki komutu birkaç kez çalıştırın ve CPU kullanımının aynı kaldığını gözlemleyin ve sonra etkileşimli modda çalışın ve CPU kullanımını sürekli olarak değiştirmeye dikkat edin.

+0

Burada iyi çalışıyor, aksi takdirde 'ps' veya belki 'sar | kuyruk -1 ' – Anders

+0

Aynı davranışı görüyorum. Parti komutu, CPU kullanımı için iyi akümülatörler almak için yeterince uzun sürmemelidir. – aschepler

+0

Aschepler, Durum böyleydi ama bunu başka bir yerde de görmedim. Yinelemeleri 2 olarak ayarlarsanız çalışır. Sorun 1 iterasyon için çalışmak için ihtiyacım var. – toc777

cevap

6

İlk yinelemede, sistem başlangıcından bu yana size ortalama CPU kullanımı gösteriliyor.

(Bu durumun top'un daha yeni sürümleri için geçerli olmadığını unutmayın).

+0

Evet, durum böyle görünüyor. – toc777

+2

Bunu nasıl biliyorsunuz? –

2

Burada, daha uzun bir süre boyunca birikimli CPU kullanımını görüntüleyen bir liner, bu durumda 5 saniye. -d bayrağı ile ayarlayabilirsiniz.

top -b -d 5 -n 2 | awk '$1 == "PID" {block_num++; next} block_num == 2 {sum += $9;} END {print sum}'