5.3. Bir takas alanının kullanılması

Hazırlanmış bir takas alanı swapon(8) ile kullanıma sunulur. Bu komutla çekirdeğe takas alanını kullanabileceğini iletiriz. Bir fikir olarak, takas alanını yolu da belirtilebilir. Bu komutla geçici bir takas dosyası üzerine yazılmaya başlanır.

# swapon /ek-takas
#

Takas alanları /etc/fstab dosyası içinde listelenerek otomatik olarak kullanılabilir.

/dev/hda8        none        swap        sw     0     0
/swapfile        none        swap        sw     0     0

Başlangıç betikleri swapon -a komutunu çalıştıracak ve böylece /etc/fstab dosyasında listelenmiş bütün takas alanları kullanıma açılacaktır. Bununla beraber, swapon komutu genellikle ek takas alanına ihtiyaç duyulduğu zamanlarda kullanılır.

Takas alanı kullanımını free komutu ile görüntüleyebilirsiniz.

$ free
             total       used       free     shared    buffers     cached
Mem:        512368     453692      58676      40144      35568     201236
-/+ buffers/cache:     216888     295480
Swap:      1951856          0    1951856
$

Çıktının birinci satırı (Mem:) fiziksel belleği gösterir. 1 Mb civarı, çekirdek tarafından kullanılan bellek, burada gösterilmez. used sütunu kullanılan bellek miktarını gösterir (ikinci sıradaki -/+ buffers/cache: sayılmaz). free sütunu tamamen boş olan alanı gösterir. shared sütunu çeşitli uygulamalar tarafından paylaşılan alanı gösterir. buffers sütunu ise diskin tampon bellek alanını gösterir.

Son satır (Swap:) ise takas alanları için benzer bilgileri gösterir. Bu alan tamamen sıfır ise bu takas alanınızın etkinleştirilmediğini gösterir.

Aynı bilgiler top komutu ile veya proc dosya sistemindeki /proc/meminfo sayesinde de elde edilebilir. Belirli bir takas alanının kullanımı hakkında bilgi almak oldukça zordur.

Bir takas alanı swapoff ile kullanımdan kaldırılabilir. Bu normal olarak gerekli değildir, sadece geçici takas alanlarını kaldırmak için kullanılır. Takas alanı içinde öncelikle kullanımdaki sayfalar takas edilir. Bunları tutacak yeterli fiziksel bellek yok ise bir diğer takas alanına gönderilir. Şayet bu sayfaları tutacak yeterli sanal bellek yok ise Linux kıvranmaya başlar. Uzun bir süre sonra kendine gelir fakat bu arada sistemi kullanamazsınız. Kullanımdaki bir takas alanını kaldırmadan önce free komutu ile yeterli miktarda boş bellek bulunup bulunmadığına bakmalısınız.

swapon -a ile otomatik bağlanan bütün takas alanları swapoff -a ile kaldırılabilir. Sistem neyi kaldıracağını bulmak için /etc/fstab dosyasının içine bakar. El ile açılmış takas alanları ise kullanılmaya devam eder.

Bazı zamanlar büyük miktarda boş fiziksel bellek olmasına rağmen, pek çok takas alanı kullanımda olabilir. Bu olabilir, örneğin: bir yerde takas işlemine ihtiyaç vardır ama daha sonra bellekte çok yer kaplayan bir süreç öldürülür ve bellek boşaltılır. Dışarıya takas edilmiş bilgi ihtiyaç duyulana kadar geri alınmaz. Bunun için boş yere endişe duymaya gerek yoktur fakat ne olup bittiğini bilmek rahatlatıcı olabilmektedir.

5.3.1. Takas alanının başka işletim sistemleriyle paylaşılması

Pek çok işletim sisteminde sanal bellek vardır. Bu alana sadece çalıştıkları vakit ihtiyaç duydukları için, çalışmayan işletim sistemleri için ayrılmış olan alan boşa israftır. Hepsinin tek bir takas alanını paylaşması daha etkili bir çözüm olacaktır. Bu mümkün fakat biraz beceri ister. Bunun nasıl yapılacağına dair bir HOWTO (NASIL) belgesi vardır.