CentOS 6 üzerinde Swap (Sanal Bellek) Oluşturma

4
4427

Merhaba bu yazımda sizlere CentOS 6.x işletim sistemi üzerinde swap ( sanal bellek) oluşturmayı anlatacağım. Anlatıma başlamadan önce Swap ın ne olduğundan bahsetmek isterim.

Swap Nedir?

Swap kelime anlamı olarak takas alanı veya sanal bellek olarak nitelendirilmektedir. Bu alan ram’in (bellek) yetersiz kaldığı durumlarda harddisk üzerinde belirlediğiniz bir alanın sanal bellek olarak kullanılması işine yarar. Bu sayede olası sistem yavaşlaması ve kilitlenmesi gibi durumlara çözüm getirilmiş olunur. Ancak şunu belirtmek isterim ki bir harddisk ram gibi hızlı çalışamayacağı için olası ram yetmezliği durumunda devreye girecek swap alanımız, veri akışını yavaş bir şekilde gerçekleştirecektir. Günümüzde ssd lerin (Solid State Disk) yaygınlaşması bu durumu biraz daha iyileştirmiştir, çünkü bu tip diskler içerisinde kendi işlem çiplerini barındırmakta ve harddisk’lere oranla çok daha hızlı çalışmaktalar.

Swap Alanı Ne Kadar Olmalı?

Swap alanı sistemdeki ram miktarı kadar olmalıdır.  Örneğin; 512mb ram varsa 512mb da swap alanı oluşturulması uygundur. Elbette swap alanı dahada fazla ayrılabilir fakat bu durum sunucunun hızını doğrudan etkileyecektir.

Swap hakkında ön bilgi verdik artık oluşturma aşamasına geçebiliriz.

Öncelikle sunucumuza ssh veya terminal bağlantısı sağlayıp root olarak oturum açalım.

1

Sunucumuzda aktif bir swap alanı olup olmadığını aşağıdaki komut yardımıyla kontrol edelim.

swapon -s

2

Çıkan sonuç resimdeki gibi ise bu bir swap alanımız olmadığı anlamına gelmektedir. Daha sonra aşağıdaki komut yardımıyla diskimizde swap alanı için yeterli yer olup olmadığına bakalım.

df

3

Resimde görüldüğü üzre 20gb alanın 1gb si kullanılmakta 19gbsi boş yani diskimiz müsait. Gerekli kontrolleri yaptık, artık swap alanı oluşturabiliriz. Biz 512mb swap alanı oluşturacağız. Aşağıdaki komutu uygulayalım.

sudo dd if=/dev/zero of=/swapfile bs=1024 count=512k

Buradaki “of=/swapfile” bizim swap dosyamızın adını, 512k ise oluşturmak istediğimiz swap miktarının 512 mb olduğunu belirtiyor. Bir sonraki aşamaya geçelim ve aşağıdaki komutu uygulayalım.

sudo mkswap /swapfile

4

Bu kodu uyguladıktan sonra yukarıdaki resimdeki gibi bir ileti almanız gerekmekte “Setting up swapspace version 1, size = 524284 KiB no label, UUID=fd406755-2077-4b09-94ec-e18038f48bdf”. Daha sonra aşağıdaki komutu uygulayalım ve swap alanımızı aktifleştirelim.

sudo swapon /swapfile

Yeni swap alanımız oluştu aşağıdaki komutla kontrol edelim.

swapon -s
5

Resimden de anlaşılacağı gibi artık swap alanımız mevcut yapmamız gereken bir kaç işlem daha var.  Aşağıdaki komutla eğer nano editör yüklü değilse sunucumuza nano editör kuralım.

yum -y install nano

Daha sonra fstab dosyasına swap alanı yer bilgisi girmemiz gerekmekte bunun için aşağıdaki komutla fstab dosyamızı açalım.

sudo nano /etc/fstab

ve en alta aşağıdaki satırı yapıştırıyoruz ve ctrl+x sonrasında y tuşlayarak kayıt edip enter tuşlayarak çıkıyoruz.

/swapfile swap swap defaults 0 0

6

Şimdi aşağıdaki komutları sırasıyla uyguluyoruz. Burada /swapfile dosyamıza kullanıcı atayacağız ve gerekli izinleri sağlayacağız.

chown root:root /swapfile
chmod 0600 /swapfile

Swap alanımız kullanıma hazır, sistemi yeniden başlatmanıza gerek yok. Bu aşamadan sonra Swap alanımızı yapılandırmak için sırasıyla aşağıdaki komutları uygulayalım.

cat /proc/sys/vm/swappiness
60

sysctl vm.swappiness=10
vm.swappiness=10

cat /proc/sys/vm/swappiness
10

ve son olarakta aşağıdaki komutla sysctl.conf dosyasını açıp aşağıdaki değerleri en alta ekliyoruz. Sayfa sonuna gitmek için CTRL+V komutunu nano üzerinde kullanabilirsiniz. Kayıt etmek içinse CTRL+X y enter komutlarını sırasıyla nano editörde uygulayın.

sudo nano /etc/sysctl.conf
# Search for the vm.swappiness setting. Uncomment and change it as necessary.
vm.swappiness=10

İşlemlerimiz bukadar. Eğer swap alanını silmek isterseniz. Aşağıdaki komutla swapı durduruyoruz.

swapoff -v /swapfile

ve aşağıdaki komut yardımıyla siliyoruz.

rm /swapfile

Son olarakta fstab dosyasına girerek daha önce girmiş olduğumuz değeri siliyoruz.

Umarım faydalı bir yazı olmuştur. o12.org  Teknograph.

 

  • Fatih Demir

    Kullanmış olduğum Vps sunucuda swap varmış. Makalenizde bahsetmiş olduğunuz komut ile var mı diye kontrol ettiğimde, sizin ekran görüntüsünden farklı olarak ; Filename kısmında “/dev/vda2” yazıyor. Type kısmında ise bende partition yazıyor. Sunucunun kendi verdiği swap’ı silip kurmama gerek yok değil mi ?

    • Teknograph

      Merhaba, sunucu disk yapılandırması değişkenlik gösterebilir. Bu sebepten aynı ekranı görmüyorsunuz. Swap alanı silip tekrar yüklemenize gerek yok, mevcut oluşturulmuş olanı kullanabilirsiniz.

      İyi çalışmalar.

      • Fatih Demir

        Teşekkür ederim geri dönüş için.

        • Teknograph

          Rica ederim hocam.