Bilindiği gibi, takas (swap) alanı, fiziksel bellek miktarı dolduğunda kullanılan alandır. Bir GNU/Linux sistemde, RAM yetersiz olduğunda, aktif olmayan sayfalar RAM’den takas (swap) alana taşınır. Takas (swap) alanı, özel olarak ayrılmış bir alan ya da bir takas dosyası olabilir. Özellikle, bir Debian sanal makinesini çalıştırırken takas bölümü mevcut değildir, bunu, kullanıcının oluşturması gerekir. Kurulum sırasında takas (swap) alan oluşturmadıysanız ve artık oluşturmaya karar verdiyseniz, bu yazı, size rehberlik edecektir.
Sistem kurulumunda takasın etkin olup olmadığını kontrol etmek için aşağıdaki komutu çalıştırın:
sudo swapon --show
Çıktı boş dönerse, bu, sistemin takas alanının olmadığı anlamına gelir. Aşağıdakine benzer bir çıktı alırsanız, sisteminizde takas etkinleştirilmiştir ve takas olarak ayrılan yer de bellidir.
NAME TYPE SIZE USED PRIO
/dev/sda2 partition 4G 0B -1
Şimdi, Debian 10 Buster’a nasıl takas (swap) alanı ekleyeceğimiz konusuna gelelim. Öncelikle bir takas dosyası oluşturalım. Biz bu çalışmamızda 1 GB’lık bir takas alanı oluşturup etkinleştireceğiz. Siz bu boyutu, dilediğiniz boyuta dönüştürebilirsiniz. Bunun için:
sudo fallocate -l 1G /swapfile
Fallocate yüklü değilse veya fallocate’in başarısız olduğunu söyleyen bir hata mesajı alırsanız, aşağıdaki komutu kullanabilirsiniz:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
Yalnızca root haklarına sahip kullanıcı takas dosyasını okuyabilir ve yazabilir. Bu nedenle, izinleri doğru ayarlamak için aşağıdaki komutu verin:
sudo chmod 600 /swapfile
Dosyada takas alanını ayarlamak için mkswap aracını kullanmak uygun olacaktır:
sudo mkswap /swapfile
Şimdi takas dosyasını etkinleştirelim:
sudo swapon /swapfile
Değişikliğin kalıcı olmasını sağlamak için etc/fstab dosyasına kaydetmemiz gerrekiyor:
sudo nano /etc/fstab
etc/fstab dosyasına aşağıdaki satırı yapıştırıyoruz:
/swapfile swap swap defaults 0 0
Takas işleminin etkin olup olmadığını kontrol etmek için swapon veya free komutunu kullanabilirsiniz:
sudo swapon --show
Çıktı, aşağıdakine benzer bir şey olmalıdır:
NAME TYPE SIZE USED PRIO
/swapfile file 1024M 507.4M -1
Kullanımı görmek için:
sudo free -h
- Değişim değerini ayarlamak
Değişim değeri, bir Linux çekirdeği özelliğidir. Değişkenlik, 0 ile 100 arasında bir değere sahip olabilir. Düşük bir değer, çekirdeğin mümkün olduğu her yerde değişmekten kaçınmaya çalışmasına neden olurken, daha yüksek bir değer, çekirdeğin yer değiştirme alanını daha agresif bir şekilde kullanmasını sağlar. Varsayılan swappiness değeri 60’tır. Cat komutunu kullanarak mevcut swappiness değerini kontrol edebilirsiniz:
cat /proc/sys/vm/swappiness
İhtimal çıktı aşağıdaki gibi gelecektir:
60
60 takas değeri masaüstü bir bilgisayar için uygun olsa da, sunucular için daha düşük bir değer ayarlamak gerekir. Örneğin, takas değerini mesela 10 olarak ayarlamak için şunu yazın:
sudo sysctl vm.swappiness=10
Bu parametrenin yeniden başlatmalar arasında kalıcı olması için, /etc/sysctl.conf dosyasına şu satırı ekleyin:
vm.swappiness=10
Optimum değişim değeri, sistem iş yükünüze ve belleğin nasıl kullanıldığına bağlıdır. En iyi değeri bulmak için bu parametreyi küçük artışlarla ayarlamanız gerekebilir. Takas (swap) alanınızı güle güle kullanın.
* * * * * *
Takas dosyasını herhangi bir nedenle devre dışı bırakmak ve kaldırmak için aşağıdaki adımları izleyebilirsiniz. Takas alanını çalıştırarak devre dışı bırakabilirsiniz:
sudo swapoff -v /swapfile
/etc/fstab dosyasını metin editörüyle açarak, daha önce eklemiş olduğunuz aşağıdaki satırı silin:
/swapfile swap swap defaults 0 0
Son olarak, oluşturduğunuz gerçek takas dosyasını silin:
sudo rm /swapfile
Kolay gelsin.