Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Linux'ta Swap Alanı Oluşturma ve Swappiness Değerini Performans için Optimize Etme

codrix

Üye
Katılım
14 Mart 2026
Mesajlar
22
Merhaba arkadaşlar, bugün sizlere özellikle düşük RAM'e sahip sunucularımızda hayat kurtarıcı bir işlem olan swap alanı oluşturmayı ve bu swap'in ne kadar "agresif" kullanılacağını kontrol eden swappiness değerini performans için nasıl ayarlayacağımızı anlatacağım. Doğru yapılandırıldığında, sisteminizin olası bir RAM tükenmesi (OOM) durumunda çökmesini engeller ve genel istikrarını artırır.

🔍 Swap Nedir, Ne Zaman Gereklidir?
Swap, fiziksel RAM'iniz dolduğunda, işletim sisteminin sabit diskinizin (HDD/SSD) bir bölümünü geçici RAM gibi kullanmasıdır. Disk, RAM'den çok daha yavaş olduğu için performans düşer, ancak sisteminiz kilitlenmez. Özellikle VPS'lerde veya 2GB ve altı RAM'e sahip sunucularda mutlaka swap alanı oluşturmanızı öneririm. SSD'li sistemlerde swap kullanımı daha tolere edilebilir seviyededir.

⚙️ Swap Dosyası Oluşturma Adımları
Öncelikle swap alanı oluşturmak için birkaç yöntem var. Ben genelde ayrı bir disk bölümü (partition) yerine, mevcut disk alanı üzerinde bir swap dosyası oluşturmayı tercih ediyorum. Daha esnek ve kolay.

İlk olarak, root kullanıcısı olarak (sudo -i veya sudo ile) aşağıdaki adımları takip ediyoruz. Diyelim ki 2GB'lık bir swap dosyası oluşturacağız.

1. Boş bir swap dosyası oluşturalım. Bu işlem /swapfile adında bir dosya yaratacak.
Bash:
fallocate -l 2G /swapfile
Eğer `fallocate` komutu hata verirse (eski sistemlerde olabilir), aşağıdaki daha yavaş ama garantili `dd` komutunu kullanabilirsiniz:
Bash:
dd if=/dev/zero of=/swapfile bs=1M count=2048

2. Oluşturduğumuz dosyanın güvenlik izinlerini sadece root'un okuyup yazabileceği şekilde ayarlayalım.
Bash:
chmod 600 /swapfile

3. Şimdi bu dosyayı bir swap alanı olarak formatlayalım.
Bash:
mkswap /swapfile

4. Swap dosyasını aktif hale getirelim.
Bash:
swapon /swapfile

5. Swap alanının kalıcı olması için, sistem açılışında otomatik mount edilmesi gerekiyor. Bunun için /etc/fstab dosyasını bir editörle (nano, vi) açıp en son satıra şu satırı ekliyoruz:
Bash:
/swapfile none swap sw 0 0

İşlem tamam! Hemen kontrol edelim:
Bash:
swapon --show
veya
Bash:
free -h
komutlarıyla swap alanınızın aktif olduğunu görebilirsiniz.

⚠️ Swappiness Nedir? Neden Ayarlamalıyız?
Swappiness, çekirdeğin (kernel) fiziksel RAM'den swap alanına ne sıklıkla ve ne kadar erken sayfa (page) taşıyacağını kontrol eden 0 ile 100 arası bir değerdir. Varsayılan değer genellikle 60'tır.
Değer ne kadar YÜKSEKSE (100'e yakın), kernel RAM'i boş tutmak için swap'i daha "agresif" kullanır, daha çok disk yazma/okuma işlemi olur.
Değer ne kadar DÜŞÜKSE (0'a yakın), kernel RAM dolana kadar swap kullanmamaya çalışır. Sıfır (0) değeri, RAM tamamen dolana kadar swap kullanılmayacağı anlamına GELMEZ, sadece mümkün olduğunca engellenir.

Benim tavsiyem, sunucu/ masaüstü performansı için bu değeri düşürmeniz. Özellikle SSD'niz varsa, gereksiz yazma işlemlerini azaltmak için.

🎯 Swappiness Değerini Optimize Etme
Geçici olarak değeri değiştirmek için (sunucu yeniden başlayınca eski haline döner):
Bash:
sysctl vm.swappiness=10

Değerin kalıcı olmasını istiyorsak, /etc/sysctl.conf dosyasını açıp en altına şu satırı eklemeliyiz:
NGINX:
vm.swappiness=10

Değişikliği kaydettikten sonra, sysctl.conf'daki değişiklikleri sisteme uygulayalım:
Bash:
sysctl -p

Mevcut swappiness değerinizi kontrol etmek için:
Bash:
cat /proc/sys/vm/swappiness

Ben kendi sunucularımda (çoğunlukla web/db sunucusu olarak) bu değeri genelde 10 ile 30 arasında bir yere ayarlıyorum. Eğer sunucunuzda çok fazla dosya önbellekleme (cache) işlemi yapılıyorsa (örneğin bir önbellek sunucusu), değeri biraz daha düşük tutabilirsiniz.

✅ Son Kontroller ve Tavsiyeler
Her şeyi doğru yaptığınızdan emin olmak için birkaç komut daha çalıştıralım:
Bash:
free -h
swapon --show
cat /proc/swaps

Son bir uyarı: Swap, RAM'in yerini tutan bir teknoloji değildir. Performans için asıl çözüm yeterli RAM'e sahip olmaktır. Swap, bir "emniyet kemeri" veya "son çare" olarak düşünülmelidir.

Umarım bu rehber faydalı olmuştur arkadaşlar. Siz bu swap ve swappiness ayarlarını kendi sunucularınızda nasıl yapıyorsunuz? Farklı bir yönteminiz veya optimizasyon öneriniz var mı? Aklınıza takılan herhangi bir soru olursa aşağıya yazmaktan çekinmeyin, elimden geldiğince yardımcı olmaya çalışırım.
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri