[Rehber] Linux sunucularda swap (sanal bellek) dosyası oluşturma

linux
swap
oluşturma
sunucu

(Muhammed Yalçınkaya) #1

Merhaba arkadaşlar,

Bu konumda sizlere Linux sunucular üzerinde nasıl swap yani sanal bellek dosyası oluşturabileceğimizi anlatacağım. Peki bu neden gerekiyor diyebilirsiniz? Bir çok popüler VPS ya da Dedicated sunucu sağlayıcı varsayılan olarak bu hizmetlerinde swap özelliğini sunmuyor.

Gelişmiş bir çok Ruby ya da benzer dillerde yazılmış yazılımlar ise düşük özellikli (1 GB ve altı) konfigürasyona sahip sunucularda bazen kaynak yetersizliği nedeniyle geçici olarak çökebiliyor. İşte swap dosyası olan sunucuda bir nebze olsun bunun önüne geçebiliyoruz.

Gerçek fiziksel belleğin yetersiz kaldığı durumlarda swap (sabit disk üzerinde oluşturulmuş olan sanal bellek) devreye girerek bu yoğunluk esnasında sunucuyu ayakta tutabiliyor.

Benim kendi tavsiyem olarak 2 GB ve üzeri konfigürasyona sahip sunucularda swap dosyası oluşturmanıza gerek yok. Ayrıca şunu da belirteyim eğer sunucunuz SSD bir diske sahipse swap normal bir SATA disk kadar performanslı çalışacaktır.

Şimdi size swap konusunda 2 seçenek sunacağım sizde dilediğiniz büyüklükte swap dosyası oluşturabilirsiniz.

1 GB swap (sanal bellek) dosyası oluşturmak için:

Öncelikle boş bir swap dosyası oluşturalım:

sudo install -o root -g root -m 0600 /dev/null /swapfile

Şimdi bu boş swap dosyasına 1 GB boyut verelim:

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

swap dosyasının oluşturulmasını tamamlayalım:

mkswap /swapfile

swap dosyasını aktifleştirelim:

swapon /swapfile

Daha sonra swap dosyasının sunucuyu yeni başlattıktan sonra her zaman otomatik olarak aktifleşmesini ayarlayalım:

echo "/swapfile       swap    swap    auto      0       0" | sudo tee -a /etc/fstab

Son olarak swap dosyasını her zaman değilde sadece acil durumlarda kullanılması için ayarlayalım:

sudo sysctl -w vm.swappiness=10
echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf

2 GB swap (sanal bellek) dosyası oluşturmak için:

Öncelikle boş bir swap dosyası oluşturalım:

sudo install -o root -g root -m 0600 /dev/null /swapfile

Şimdi bu boş swap dosyasına 1 GB boyut verelim:

dd if=/dev/zero of=/swapfile bs=1k count=2048k

swap dosyasının oluşturulmasını tamamlayalım:

mkswap /swapfile

swap dosyasını aktifleştirelim:

swapon /swapfile

Daha sonra swap dosyasının sunucuyu yeni başlattıktan sonra her zaman otomatik olarak aktifleşmesini ayarlayalım:

echo "/swapfile       swap    swap    auto      0       0" | sudo tee -a /etc/fstab

Son olarak swap dosyasını her zaman değilde sadece acil durumlarda kullanılması için ayarlayalım:

sudo sysctl -w vm.swappiness=10
echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf

Ekstra olarak şu tek komut ile de kopyala/yapıştır yaparak 2 GB boyutunda bir swap dosyası oluşturabilirsiniz. Diğer komutları vermenize gerek yoktur!

sudo install -o root -g root -m 0600 /dev/null /swapfile
dd if=/dev/zero of=/swapfile bs=1k count=2048k
mkswap /swapfile
swapon /swapfile
echo "/swapfile       swap    swap    auto      0       0" | sudo tee -a /etc/fstab
sudo sysctl -w vm.swappiness=10
echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf

DigitalOcean VPS üzerine Discourse kurulumu
Genel Discourse Kurulum Rehberi (Güncel)
(Bekir Cem Ünalan) #2

1GB RAM’i bulunan VPS için ideal swap alanı nedir?


(Muhammed Yalçınkaya) #3

1K ve fazlası anlık hit için bu yeterli olacaktır yani 2GB swap bellek dosyası oluşturmanı tavsiye ederim.