Linux Load Average Nedir?

Linux’da Load Average ne anlama geliyor?

Linux’ta load average (yük ortalaması) herhangi bir zamanda kaynak kullanımının göstergesidir.Linux’ta load average cpu’nun ne kadar meşgul olduğunu bize gösterir.

#w #uptime #htop komutları bize load average çıktısını vermektedir.Nasıl yorumlayacağımız konusu ise sistemizdeki cpu sayısına göre değişmektedir.

Nasıl yorumlarız?

Yukarıda belirttiğimiz gibi çekirdek sayısını tespit ettikten sonra yorumlama kısmına geçebiliriz.Aşağıda “w” komutu çıktısını görüyoruz. load average kısmı aslında 3 farklı zaman aralığını veriyor. 0.01 değeri 1dk, 0.07 5dk, 0.42 15dk‘lık ortalamayı veriyor.

$ w
 01:43:54 up  1:01,  0 users,  load average: 0.01, 0.07, 0.42
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT

Hesaplamayı ise 1 core sistemimiz varsa ve %100 cpu kullanıyorsa 1 değerini görürüz. %50 kullanımda ise 0.50 aralığında bir çıktı görürüz.Aşağıda stress-ng toolu kullanarak burayı biraz daha açmak istiyorum.Benim sistemimde 4 çekirdek var ama aşağıdaki örnekte 1 çekirdeğe %50 yük göndererek ortalama çıktısını inceleyeceğiz.

Tek çekirdekli bir sistemde:

0.00: CPU boş

1.00: CPU %100 kullanılıyor

İlk olarak stress-ng toolu ile 1 cpu’ya %50 yük gönder diyorum.

htop çıktısında ise load average değerimin 50’lerde olduğunu görüyorum.

Bir diğer örnekte ise kendi sistemimi biraz zorlayarak örneklendireceğim

cpu özelliğim: 4/8: 4 core 8 thread

bu sefer stress-ng ile tüm thr’lere %90 yük gönderiyorum.

Buradaki -c 0 olarak kullanmamızın sebebi core sayımı bilmiyorum tüm corelara gönder anlamında okuyabiliriz. -l ise göndereceğimiz yük yüzdesi

Htop çıktısında %90 yük gönderdikten sonra çıktımızı görüyoruz. 7.23’lük bir oran ile karşılaşıyoruz.Yani %100 yük gönderdiğimizde max 8’lik bir average ile karşılaşacağız. Buna göre çıktıyı yorumyabiliriz.

Sistemimizde kaç çekirdek olduğunu doğrulamak

cat /proc/cpuinfo | grep core

Core/Thread?

Bazen core/thread kafa karıştırıcı olabiliyor.Konu dışında olduğu için detaya girmeden burada sisteminizdeki core/thr çıktısını görmek için “lscpu” ve “htop” komutlarını kullanabilirsiniz.Yukarıdaki resimlerde htop çıktısında 0-7 aralığında thr görüyorsunuz.Bu benim toplamda 8 thr bir işlemciye sahip olduğumu gösteriyor.

Core: İşlemcinin fiziksel işlem birimleridir.

Thread: Her bir core’da çalışan sanal işlem birimleridir.

4/8 core özelliğine sahip sistemimde lscpu çıktısı aşağıdaki gibi

$lscpu
Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         43 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  8
  On-line CPU(s) list:   0-7
Vendor ID:               AuthenticAMD
  Model name:            ###
    CPU family:          23
    Model:               24
    Thread(s) per core:  2
    Core(s) per socket:  4

Share: Twitter Facebook LinkedIn