Htop'u nasıl okurum


9

htopLinux üst komutu için popüler değiştirme tarafından görüntülenen bilgileri anlamada sorun yaşıyorum .

htop ekran dökümü

Yukarıdaki ekran görüntüsünde listelenen birçok java örneği vardır, ancak yalnızca üst öğe CPU saatini kullanır. Diğerleri neler?

CPU% sütunu tüm işlemlerde pek bir şey gerçekleşmediğinde neden CPU kullanım çubukları bu kadar meşgul çekirdekler gösteriyor? Aslında, çoğu zaman korelasyon olmadan hareket ederler.

Neden çekirdek ortalamaları her zaman yeşil ve meşgul görünüyorsa, 3 adımlık bir geçmiş olduğunu düşündüğüm sağ üstteki Yük Ortalaması?

Birisi bu bilginin nasıl okunacağını açıklayacak kadar kibar olurdu?

Teşekkür ederim!


Çok yardımcı olan bazı değişiklikler yaptım. İş parçacıklarını farklı bir renkte görüntüleyin, iş parçacığı adlarını gösterin, yenileme sırasında işlem adlarını güncelleyin ve çoğunlukla gecikmeyi 2/10 saniyeye değiştirin. Varsayılan güncelleme hızı yalnızca CPU ölçüm cihazları ile işlemler arasında büyük bir gecikme olduğunu gösterir.
Luke Puplett

1
En azından yük ortalaması için, bu mutlaka düşük bir değer değildir. Yük aslında sistemin bir şey yapmak için beklemesi gerekip gerekmediğinin bir göstergesidir. Kabul edilebilir bir değer, bu durumda 4 çekirdek sayısından daha azdır. Dolayısıyla, bu ortalamalar makuldür. Bunlar son 1, 5 ve 15 dakikadır. Daha fazla bilgi için, bkz. [Wikipedia] ( en.wikipedia.org/wiki/Load_(computing))
ssmy

Yanıtlar:


5
  1. "Load" ve CPU% ile ilgili olarak, wikipedia'nın ayrıntılı açıklaması ve örneği var, aşağıdaki kısmi bir alıntı

    Boştaki bir bilgisayarın yük numarası 0'dır ve CPU (hazır sıra veya çalışma kuyruğu) kullanan veya bekleyen her işlem, yükleme numarasını 1 artırır. UNIX sistemlerinin çoğu yalnızca çalışan (CPU üzerinde) veya çalıştırılabilir (bekleyen CPU) durumları. Bununla birlikte, Linux aynı zamanda kesintisiz uyku durumlarında (genellikle disk etkinliği için bekleyen) işlemler içerir; bu, meşgul veya durmuş bir G / Ç sistemi nedeniyle G / Ç'de birçok işlem engellenmeye devam ederse belirgin şekilde farklı sonuçlara yol açabilir. Bu, örneğin, bir NFS sunucusu arızası veya yavaş ortam (ör. USB 1.x depolama aygıtları) nedeniyle engellenen işlemleri içerir. Bu koşullar, CPU kullanımında gerçek bir artışı yansıtmayan yüksek bir yük ortalamasıyla sonuçlanabilir (ancak yine de kullanıcıların ne kadar beklemesi gerektiği hakkında bir fikir verir).

    Sistemler yük ortalamasını yük sayısının katlanarak sönümlenmiş / ağırlıklı hareketli ortalaması olarak hesaplar. Yük ortalamasının üç değeri, geçmiş bir, beş ve on beş dakikalık sistem çalışmasını ifade eder.

    CPU bağlantılı tek CPU sistemleri için, yük ortalaması, ilgili zaman dilimi boyunca sistem kullanım yüzdesi olarak düşünülebilir. Birden fazla CPU'lu sistemlerde, karşılaştırılabilir bir yüzde elde etmek için sayıyı işlemci sayısına bölmek gerekir.

    Çubuklar hareket etmekle meşgul olabilir, ancak asla% 100'e ulaşmazlar, bu da cpu / çekirdeğin tamamen kullanıldığını gösterir. Çubuk, yalnızca% 27,% 26.5,% 24.5,% 24.7 ve% 71.7 olan işlemci kullanımının% bir görselleştirmesidir. Tüm işlemci çekirdeklerinin hala "yedek" olma gücü vardır. Hepsi bu noktada yetersiz kullanılıyor.

    Tam olarak kullanılan 5 çekirdekli / cpu sistemi 5 veya daha fazla yüke sahip olacaktır.

  2. Java satırlarıyla ilgili olarak, bunlar üst (PID = 5073) ve alt süreçlerdir. Ebeveynin neden en fazla işlemci zamanını biriktirdiğini açıklayamıyorum. Bu gerçekten programın iç mantığına bağlıdır. Bununla birlikte, TIME + 'ya göre, bu alt süreçler cpu zamanını harcadı, sonuncusu (PID = 5074) en fazla birikti.


Alt süreçlerin JVM iş parçacığı olması mümkün mü? İş parçacığı adlarını gösterme seçeneğini belirlediğimde, hepsinin adı aynıdır. Windows + .NET programcısıyım fyi.
Luke Puplett

Evet, bunlar iplik olabilir.
John Siu
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.