Linux’ta Bellek ve Takas Alanı Kullanımı

Bilgisayarımızda RAM’in yetersiz kaldığı durumlarda, sistemin çökmemesi için hard disk üzerindeki belirli bir alan sanal bellek olarak kullanılır ancak hard disk, RAM ile kıyaslandığında aşırı derecede yavaştır. Bu yavaşlığı daha rahat anlayabilmek için sayısal olarak ifade etmek daha doğru olacak sanırım. RAM, hard disk’ten en az 100 kat daha hızlıdır.

RAM ve hard disk okuma/yazma hız testi karşılaştırması için aşağıdaki videoyu izleyebilirsiniz:

Hal böyle olunca, bilgisayarınız sanal belleği kullanmaya başladığında sistemin çok belirgin bir şekilde yavaşladığını hissedersiniz.

Linux RAM’in yetersiz kaldığı durumlarda hard disk üzerindeki bir alanı RAM gibi kullanarak olası sistem çökmelerini önler. Hard disk üzerindeki bu alana ‘swap space’ yani ‘takas alanı’ denir.

Bilgisayarınıza ilk defa Linux kurduğunuzda, Sistem Gözlemcisi (System Monitor) ile RAM kullanımına baktığımızda, sistemde boş RAM olmasına rağmen takas alanının kullanıldığını görürüz. Aşağıdaki ekran görüntüsünde, toplam 3.7 GB RAM’e sahip bir sistemde, RAM’in %35’inin boş olmasına rağmen takas alanının kullanıldığı net bir şekilde görülmektedir.

RAM’de (Bellek) hala boş yer varken neden takas alanı kullanılıyor? Bu soru hiç aklınıza takıldı mı?

Eskiden bilgisayarlarda çok az RAM olurdu. 256 MB, 512 MB RAM’e sahip bilgisayarları kullandığımız günleri hatırlayalım.

Linux, düşük donanıma sahip bilgisayarlarda da çalışabildiği için RAM’i az olan bilgisayarlar da göz önünde bulundurularak bazı ayarlar varsayılan olarak belirlenmiş.

Bu yazıda, RAM’i yeterli olan (4 GB’ı yeterli olarak kabul ediyorum) Linux kullanıcılarının, bilgisayarlarını daha verimli kullanabilmeleri için Linux çekirdeğindeki ayarlanabilir bir parametre olan “vm.swappiness” üzerinde duracak ve yapacağımız çok basit bir ayar ile Takas Alanı’nın kullanılmamasını sağlayacağız. Böylelikle Linux, hard disikimizi gereksiz yere RAM gibi kullanmaya çalışmayacağı için bilgisayarımız da yavaşlamayacak.

Öncelikle, kısa da olsa “vm.swappiness” parametresi hakkında bilgilenelim.

Bu parametre, RAM ile Takas Alanı kullanımı arasındaki ilişkiyi yönetir ve varsayılan değeri 60’tır.

vm.swappiness değeri ne kadar büyük olursa, Linux bellek olarak hard diski yani takas alanını o derece daha çok kullanma eğilimine girer. En yüksek değeri 100, en düşük değeri ise 0’dır. vm.swappiness değerinin sıfır olması, bellek olarak yalnızca RAM’in kullanılması gerektiğini, hard diskin asla kullanılmaması gerektiğini gösterir. vm.swappiness değeri sıfır iken RAM tamamen dolana kadar Takas Alanı asla kullanılmaz.

Bilgisayarınızda yeterince RAM’iniz varsa uçbirim’de root hesabı ile;

echo 0 > /proc/sys/vm/swappiness

veya

sysctl -w vm.swappiness=0

komutlarını kullanarak Linux çekirdeğine, sadece RAM’in tamamının dolu olması durumunda takas alanının kullanılması gerektiği mesajını verebiliriz. Böylelikle normal zamanda takas alanı hiç kullanılmayacağı için bilgisayarımız da yavaşlamamış olacak.

Leave a Comment