Sunucu yönetimine yeni başlayanların genellikle sıkıntı duyduğu konulardan biri Linux sunuculardaki memory kullanımıdır. Eklediğimiz bu makalede linux sunucularınızdaki memory kullanımı hakkında daha net bilgilere sahip olabileceğinizi düşünüyoruz.
Memory kullanımını görüntülemek için kullanmanız gereken komut free komutudur. Bu komutu yazdığınızda terminal çıktısı alt kısımdaki gibi olacaktır.
total used free shared buffers cached
Mem: 3924572 2788396 1136176 0 410880 1679744
-/+ buffers/cache: 697772 3226800
Swap: 8388600 655712 7732888
Komutun çıktısında ki değerleri daha okunaklı görmek için bazı özel parametreleri kullanabilirsiniz. Bunlardan en sık tercih edilen parametre free -m parametresidir. Daha fazla parametre için man free yazarak free komutunun tüm parametrelerine ulaşabilirsiniz. free -m parametresinin çıktısı alt kısımdaki gibidir, değerler bu komutta megabyte olarak verilir.
total used free shared buffers cached
Mem: 3832 2842 989 0 419 1736
-/+ buffers/cache: 686 3145
Swap: 8191 639 7552
Genellikle memory kullanımını görüntülemek ve değerlendirmekteki hata şudur, çıktıda yer alan Mem: alanının Used tablosunu aktif memory kullanımı olarak değerlendirirler, ancak gerçekte aktif memory kullanımı used kısmında yer alan değer değildir. Linux çekirdeği sistemdeki memory kullanımını en optimal seviyede kullanmaya çalışır ve memory de tutulan bilgileri gerek gördüğünde hazır tutmak üzere saklar. Bu nedenle Mem: kısmı hem aktif kullanılan bellek miktarını hemde gerekdiğinde silinebilen ram üzerinde cache edilmiş önbellek miktarını göstermektedir.
Bu nedenlerden dolayı free komutunun 2 satırında bulunan kısım, disk üzerindeki önbellek dışında kalan gerçek kullanımı gösterir.
-/+ buffers/cache: 686 3145
Gerçekte sistemde kullandığınız bellek miktarı -/+ buffers/cache: sütununda yazan used kısmıdır.
Son olarak free -m çıktısında yer alan Swap: işlevi hakkında sizleri bilgilendireceğiz. Swap, fiziksel bellek miktarının tamamen tükendiği durumlarda işletim sisteminin kararsız hale gelmemesi için başvurduğu sanal bellek miktarıdır. Bu sanal bellek sunucunuzdaki sabit diskler üzerinde çalışır. Bunu kesinlikle önbellek ile karıştırmayın, eğer bir sunucu swap bellek kullanmaya başladıysa oldukça yavaş çalışmaya başlar. Sunucunuzda herhangi bir şekilde Swap: satırının used kısmında kullanım mevcut ise, belirli bir noktada fiziksel bellek miktarınız yetersiz kalmış ve Linux swap bellek miktarına başvurmuş diyebiliriz. (Bazı uygulamaların çalışma mantığı bu konuda farklıdır. Swap bellek miktarını öncelikli olarak kullanabilir.)
Swap kullanmaya başladığınızda sunucunuzun load değerleri artar, swap bellekte kalan verilere erişimin gerçek fiziksel bellek hızından çok daha düşük bir hızda eriştiğinden performans ile ilgili ciddi sıkıntılar yaratabilir. Swap belleğin boşaltılması için alt kısımdaki komutları uygulayabilirsiniz.
swapoff -a
swapon -a
Memory kullanımı hakkında sormak istediğiniz sorularınızı yorum bölümünden bizlere iletebilirsiniz.
Bilgilendirme için teşekkürler.
Sunucumuzda 8 GB RAM var ancak free -m komutunda toplamda 3 GB ram gösteriyor.
Ayrıca
swapoff -a
swapon -a
komutları ile swap ram’i SÜREKLİ boşaltmak sıkıntı yaratır mı ?
yum install kernel-PAE
Muhtemelen 64bit kernel kurulu değil sunucuda. Yukarıdaki komut ile PAE destekli kernel kurup sunucuyu reboot ederseniz sorun düzelebilir.
Swapın amacı lazım olduğunda memory yetmez ise diski kullanmaktır. Bu yaptığınız işlemin sistem performansına bir etkisi olmayacaktır.