Fatih Begit

Ocak 22, 2010

Linux CPU Load Avarage (run-queue length)

Filed under: Sistem Yönetimi — fatihbegit @ 2:15 pm
Tags: ,

Linux ortamıyla yeni tanışanlar da dahil olmak üzere çoğu kullanıcı, “uptime” ya da “top” komutu ile gözüken Load Avarage değerinin cihaz üzerinde çalıştırılan uygulamalarla alakalı olduğunun ve küçük değerlerin daha iyi olduğunun farkında.

load average: 0.20, 0.16, 0.06

. Peki nedir bu 1, 5, ve 15 dakikalık load avarage, dikkat edilmesi gereken sınırları nelerdir, nasıl yorumlanır?Bu durumu şöyle düşünelim. İnsanlar derin bir vadiden karşıya geçmeye çalışıyorlar ve bunun için kullanabilecekleri yol çok hızlı bir teleferik sistemi. Teleferik sisteminde tek taraflı 100 kabin var ve eş zamanlı maksimum 100 insanı karşıya geçirebiliyor. Peki karşıya geçmek isteyen, ya da geçmek için bekleyen kaç kişi var?

Teoride karşıya geçmek isteyen anlık kişi sayısı 100 olana kadar bekleme yok denilebilir. Başka bir deyişle Yani 70 insan teleferik sistemini kullanmak istediğinde sistemin yükü 0,70 olacaktır. İşte bu değeri Load Avarage’ taki 0,70 değerine, teleferik sistemini işlemcimize, insanları da processlere  benzetebiliriz. Eşzamanlı kullanıcı sayısı 100’ü geçtiğinde beklemeler olacaktır. Tabi kıza zamanlı yoğunluklar yaşanabilir. Ancak bu beklemeler ne kadar uzun süreli olursa o kadar can sıkacak, kullanıcıların işleri aksayacaktır.  T

O zaman load avarege değerinin 1,00 olması sistem kaynaklarının enetkin şekilde kullanıldığına işaret midir? Teoride evet ama pratikte pek öyle sayılmaz. Çünkü bekleyen process yada thread sayısı ani olarak değişim gösterebilir. (Tam bu noktada önmeli olan load avarage değerlerinin 15 dakikalık ya da 5 dakikalık ortalamalar olduğunu söyleyebiliriz. ) Bu yüzden 0,70 değerine kadar herşeyi normal kabul edip , 0,70 ve 1,00 arası değerlerde aksiyon almak için hazırlanmalı, 1,00 üzerindeki dğerlerde artık aksiyona geçmeliyiz.

Peki benim makinem 1,50 load avarage ile nasıl mükemmel çalışabiliryor? İşte burada işin içine cihazınız üzerindeki işlemci sayısı , ve ya işlemciniz üzerindeki çekirdek sayısı girer. Çünkü her çekirdek yeni bir teleferik sistemi olarak düşünülmelidir. Yani 1,70 lik bir load avarage Dual-Core bir işlemci yad a iki işlemcili bir makine için hemen endişe edilmemesi gereken bir değerdir. Aynı şekilde dört çekirdek tek işlemcili bir makine için de load avarage değerimiz 3,70 olana kadar cihazımızın performansı yeterli denilebilir.

Cihazımız üzerindeki çekirdek sayısıni öğrenmek için ‘processor’ /proc/cpuinfo | wc -l

komutunu kullanabiliriz.

user@host:~$ grep 'processor' /proc/cpuinfo | wc -l
1

İşlemcilerimizi marka model ve hızları ile ilgili bilgiye

cat /proc/cpuinfo

ile ulaşabiliriz.

user@host:~$ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 29
model name      : Intel(R) Xeon(R) CPU           X7460  @ 2.66GHz
stepping        : 1
cpu MHz         : 2666.761
cache size      : 16384 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss syscall nx
                  lm constant_tsc up arch_perfmon pebs bts rep_good xtopology tsc_reliable pni ssse3 cx16 sse4_1 lahf_lm
bogomips        : 5333.52
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

Yorum yapın »

Henüz yorum yapılmamış.

Bu yazıya yapılan yorumlar için RSS beslemeleri. URI'nin geri izlemesini yap.

Yorum yapın

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Değiştir )

Twitter picture

You are commenting using your Twitter account. Log Out / Değiştir )

Facebook photo

You are commenting using your Facebook account. Log Out / Değiştir )

Connecting to %s

Theme: Rubric. WordPress.com'dan blog alın.

Follow

Get every new post delivered to your Inbox.