Unix / Linux'ta ortalama yük ne demektir?


68

Eğer kaçarsam uptime, şöyle bir şey alıyorum:

10:50:30 up 366 days, 23:27,  1 user,  load average: 1.27, 2.06, 1.54

Sonundaki bu sayılar ne anlama geliyor? Man sayfası bana "sistemin son 1, 5 ve 15 dakikadaki yük ortalaması" olduğunu söyledi. Ama ölçek nedir? 1.27 yüksek mi? Düşük? Sistemime bağlı mı?


2
Çok çekirdekli bir CPU sisteminde yük ortalamasının nasıl yorumlanması gerektiğini merak ediyorum.
nagul,

3
Genel bir kural olarak, yük ortalamasını çok çekirdekli sistemler için CPU sayısına bölmelisiniz. Dolayısıyla, çift çekirdekli bir sistemde 2.0 yükü, kabaca tek çekirdekli bir sistemde 1.0'a eşdeğerdir. Bu tamamen doğru değil, çünkü disk G / Ç ve ağ traiffic gibi şeyler, ama yük zaten bir tür tahmin edilmiş bir tahmin.
Mike Cooper,

1
Bu blogu gerçekten faydalı buldum: Linux CPU
Load'ı

Yanıtlar:


59

Yük ortalaması, ortalama kaç işlem olduğu ve aynı zamanda CPU dikkatini gerektiren bir göstergedir.

Genel olarak,% 100'de çalışan bir işleminiz varsa ve bu tüm sonsuzluk için böyle durursa, tüm değerlerin '1' değerine yaklaşmasını bekleyebilirsiniz.

Genel olarak, bu mümkün olduğu kadar verimli bir bilgi işlemdir, bağlamsal anahtarlardan dolayı kayıp olmaz.

Bununla birlikte, modern çoklu görevli işletim sistemlerinde, CPU dikkatine ihtiyaç duyan birden fazla şey var, bu nedenle tek bir işlemden orta derecede bir yük altında, yük ortalaması 0.8 ile 2 arasında yüzmelidir.

Delice bir şey yapmaya karar verirseniz make -j 60, bir mantıksal işlemciye sahip olmasına rağmen, bir çekirdek oluşturmak gibi , o zaman ortalama yük 60'a koşar ve bilgisayarınız inanılmaz derecede yararsız olur (bağlam geçişiyle ölüm).

Ayrıca, bu metriğin kaç tane çekirdek / CPU olduğundan bağımsız olduğuna da dikkat edin. İki çekirdekli bir sistem için, tüm çekirdeği tüketen bir işlemi çalıştırmak (diğer boşta bırakarak), ortalama 1.0 yük demektir. Bir sistemin ne kadar yüklü olduğuna karar vermek için, çekirdek sayısını bilmeniz ve bölümü kendiniz yapmanız gerekir.


1
Yani 1'den daha az bir yük ortalaması "İşlemler genellikle beklemek zorunda kalmaz" anlamına mı geliyor? Yük ortalamasını 2 "Her bir işlem kabaca ideal koşullarda olacağından iki kat alıyor" olarak yorumlayabilir miyim? (Endişelenecek bir G / Ç olduğunu biliyorum)
John Fouhy

Evet, bu mantıklı, IO’yu görmezden geliyor;)
Kent Fredric

@KentFredric "Genel olarak, elde edebileceğiniz kadar verimli bir işlem var, bağlamsal anahtarlardan dolayı zarar yok." ... 1 işlem her zaman% 100 oranında verimli çalışıyor mu? Elbette burada temel bir şeyleri özlüyorum. Lütfen ne demek istediğini açıklayabilir misin? Tüm cpu kaynaklarını nasıl hogging etmenin verimli olarak tanımlanabileceği gibi bir aklım karıştı.
Geek

2
% 100'de çalışan bir işlemin çok "verimli" görünmediğini biliyorum, ancak işlem yalnızca% 20 kullanmak için keyfi bir şekilde kısıtlanırsa, bu işlem 5 kat daha uzun sürer. Yani burada verimlilik "en uygun kaynak kullanımı" anlamına gelir.
Kent Fredric

1
Yani n-çekirdekli bir sistem için, n ortalama yükü, her bir çekirdeğin zamanın% 100'ünde bir işlemi gerçekleştirdiği / bu nedenle en verimli olduğu anlamına gelir?
joshreesjones

9

adam 5 proc:

/ proc / loadavg Bu dosyadaki ilk üç alan, çalışma sırasındaki (R durumu) veya 1, 5 ve 15 dakikadan daha eski olan disk G / Ç (D durumu) için bekleyen iş sayısını veren ortalama yük değerleridir. . Çalışma süresi (1) ve diğer programlar tarafından verilen yük ortalama sayıları ile aynıdır.


3

Genel olarak, belirli bir zamanda aktif işlem sayısını ölçer, ancak bunu hesaplamak için kullanılan ölçümler bazı sistemlerde farklılık gösterir. Bunu oldukça iyi açıklayan tek yazı bu .


2
Bu bağlantı '03 tarihli. Linux 2.6 o zamandan beri ortaya çıktı. (2.0, Ouch kullandıklarını not edersiniz.) Metriklerin şimdi pratikte o sayfada belirtilenlerden biraz farklı olduğu görülüyor.
Kent Fredric


Bağlantınız hala çalışıyor ve terminal çıkışı 2001'den 😂 Ne kadar iyi
MS

2

Bir kursun referansından alıntı yapıyorum:

Yük ortalaması, belirli bir süre için yük sayısının ortalamasıdır. Aşağıdakileri hesaba katar:

  • Bir CPU üzerinde aktif olarak çalışıyor.
  • Çalıştırılabilir olarak kabul edilir, ancak bir CPU'nun hazır olmasını bekler.
  • Uyku: yani, bir tür kaynağın (tipik olarak, G / Ç'nin) kullanılabilir hale gelmesini beklemek.

Yük ortalamasını yorumlama konusunda daha fazla alıntı yapıyorum :

Yük ortalaması, aşağıdaki örnekte gösterildiği gibi üç farklı sayı grubu kullanılarak görüntülenir:

Son bilgi, sistemin ortalama yüküdür. Sistemimizin tek işlemcili bir sistem olduğu varsayılırsa, 0.25, geçmiş dakika için ortalama olarak sistemin% 25 oranında kullanıldığı anlamına gelir. Bir sonraki pozisyonda 0.12, son 5 dakika içinde, ortalama olarak, sistemin% 12 oranında kullanıldığı; ve son pozisyondaki 0.15, son 15 dakika boyunca, ortalama olarak, sistemin% 15 oranında kullanıldığı anlamına gelir. İkinci konumda 1,00 değerini gördüysek, bu, tek işlemcili sistemin son 5 dakikada ortalama% 100 kullanılacağı anlamına gelir; Bir sistemi tamamen kullanmak istiyorsak bu iyidir. Tek işlemcili bir sistem için 1,00'den büyük bir değer, sistemin aşırı kullanıldığı anlamına gelir: CPU'ya ihtiyaç duyulan CPU'dan daha fazla işlem vardı.

Birden fazla CPU'ya sahip olsaydık, dörtlü bir CPU sistemi söylersek, ortalama yük sayısını CPU sayısına bölerdik. Bu durumda, örneğin, 4 dakikalık ortalama 1 dakikalık bir yük görmek, sistemin bir bütün olarak son dakikada kullanılan% 100 (4.00 / 4) olduğunu gösterir.

Kısa vadeli artışlar genellikle sorun değil. Gördüğünüz yüksek bir tepe, yeni bir seviye değil, muhtemelen bir etkinlik patlamasıdır. Örneğin, başlangıçta, birçok işlem başlar ve ardından etkinlik yerleşir. 5 ve 15 dakikalık yük ortalamalarında yüksek bir tepe görülürse, endişeye neden olabilir.


Referansınıza bir link eklemek kullanışlı olacaktır.
Pierz

Bu zor. LFCS sınavına hazırlanmak için Linux Vakfı'ndan çevrimiçi bir kurs.
Ely
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.