Ağ bekletme 'en üstte' nereye gider?


9

Üst kısım yüksek yükler gösteriyorsa ve buna neden olan işlemin işlemci zamanı yapıp yapmadığını veya ağ i / o (yerel i / o değil) yapıp yapmadığını bilmiyorsanız, bunu nasıl öğrenebilirsiniz?

Sunucumuzda yük için yüksek değerler görüyorum, ancak% 60-% 70 boşta ve yaklaşık% 25 kullanıcı ile birlikte. Bu tür değerleri nasıl birbirine bağlayacağımı bilmek istiyorum, ancak internette neredeyse her zaman, sürecin disklerinizi çöpe atıp atmadığını görmek için iostat kullanabileceğinizi okudum. Ama zaten eminim ki, durum böyle değil. Söz konusu süreç de işini yapmakta zorlanmıyor, ancak yine de yük yüksek.

Peki, hangi bölümün ağ beklemesinden ve hangi bölümün gerçek işlemci süresinden kaynaklandığını daha fazla öğrenmenin bir yolu var mı? Ve üstte 'boşta' anlamı nedir?

Açıklık için: yük ile, çekirdek başına ortalama kuyruk işlemlerini gösteren 3 rakamı kastediyorum. Bu makinede 8 çekirdek var ve sayılar 25'e kadar çıkıyor, bu da çekirdek başına 2.5 yük.


Ne "yük" olarak adlandırıyorsunuz: CPU kullanımı veya 3 "yük ortalaması" değerleri ( uptimeçıktıda görülür )?
spuk

1
Soru bir anlam ifade etmiyor ... ağ IO'yu beklemek hiçbir işlemci zamanı kullanmıyor.
psusi

2
htopSüreçlere bakmanın faydasını seviyorum . Özellikle bir işlem seçmenize ve daha sonra lkomutu kullanarak, lsofdahil IPv4ve IPv6akış cihazlarını ve benzerlerini kullanarak tüm açık dosyaları gösterecektir . Kutunuza straceyüklediyseniz, sistem çağrısı ve sinyal hata ayıklaması da yapabilirsiniz. Tam olarak bir cevap değil, araştırmaya çalıştığınız şey için düşüneceğim başka bir araç.
111 -

3 rakamı kastediyorum. Anladığım kadarıyla bunlara "yük" deniyor, yoksa burada yanıldım mı? Kuyruktaki yürütülebilecek işlem sayısını temsil ederler, ancak ağda bekletilen işlemleri içerir mi, yoksa işlemler hariç tutuyor mu?
Ocak

Peki ne "yüksek" olarak tanımlıyorsunuz? Yük ortalaması çekirdekler için ölçeklenmemiştir. örneğin, yük ortalaması 1 ve 4 çekirdekli bir sistem, yük ortalaması 1 ve sadece 1 çekirdekli bir sistem olarak yüklendiğinde 1 / 4'tür. Yük ortalaması çok kaba bir rakamdır.
Bahama

Yanıtlar:


3

Üst kısım yüksek yükler gösteriyorsa ve buna neden olan işlemin işlemci zamanı yapıp yapmadığını veya ağ i / o (yerel i / o değil) yapıp yapmadığını bilmiyorsanız, bunu nasıl öğrenebilirsiniz?

Ağ G / Ç, bir NFS işleminin parçası olmadığı sürece Linux iowait metriğinde dikkate alınmaz, bu durumda disk G / Ç olarak kabul edilir.

Peki, hangi bölümün ağ beklemesinden ve hangi bölümün gerçek işlemci süresinden kaynaklandığını daha fazla öğrenmenin bir yolu var mı?

Varsayımsal bir NFS beklemesinin dışında ortalama yükün hiçbir kısmı ağ beklemesiyle alınmaz.

Ve üstte 'boşta' anlamı nedir?

Bu, CPU'nun listelenen durumlardan bir diğerinde (kullanıcı, sistem, nice, iowait, donanım kesintileri, yazılım kesintileri, çalınan) yüzde yüzdesi anlamına gelir. Buna ağ bekleri de dahildir. Boşta kaldığında, CPU aslında hiçbir şey yapmaz. CPU da hiçbir şey yapmadığından iowait'in boşta kalma süresi olduğunu unutmayın.


Cevabınız için teşekkürler. Bu nedenle, yüksek bir rölanti değeri (% 60 -% 70) ve daha düşük kullanıcı durumu (yaklaşık% 25) ve düşük iowait gördüğüm durumumda, sizi doğru anlarsam sunucunun ağ kaynaklarını beklediği anlamına gelebilir.
Ocak

1
Ağ kaynaklarını beklemeniz gerekmez. CPU'nun yapılması gerekenleri tamamlamak için yeterince hızlı olması basit olabilir. Yüksek yük ortalaması muhtemelen bir CPU için eşzamanlı olarak çok kısa iş parçacıklarıyla yarışan çok fazla sayıda iş parçacığından kaynaklanır.
jlliagre
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.