Swap Nedir ve Neden Önemlidir?

Swap, RAM (Random Access Memory) yetersiz kaldığında işletim sisteminin sabit diskte ayırdığı geçici bellek alanıdır. Özellikle yüksek trafik alan web siteleri, veri tabanı yoğun uygulamalar ve VDS sunucu paketleri kullanan müşteriler için swap, anlık bellek baskılarını hafifletir ve sistem çökmesini önler. Ancak swap'in yanlış yapılandırılması, disk I/O (Input/Output) yoğunluğunu artırarak performansı %30‑40 oranında düşürebilir.
Linux çekirdeği, bellek yönetimini üç katmanlı bir yapı üzerinden yürütür: RAM, cache ve swap. RAM dolduğunda en eski ve en az kullanılan sayfalar swap’e taşınır; bu süreç “page out” olarak adlandırılır. Swap alanının yeterli büyüklükte ve doğru parametrelerle ayarlanması, yüksek yanıt süresi ve CPU aşırı yüklenmesi riskini azaltır. Ayrıca, swap’in SSD yerine HDD üzerinde bulunması, okuma‑yazma gecikmesini iki kat artırabilir; bu yüzden SSD tabanlı bir swap dosyası tercih edilmelidir.
Swap Alanı Boyutu Nasıl Belirlenir? (Sık Yapılan Hatalar ve Doğru Hesaplama)
Swap boyutu belirlenirken iki temel yaklaşım vardır: “RAM x 2” ve “RAM + 2 GB”. Ancak bu formüller, modern sunucularda artık geçerli olmayabilir. Örneğin, 16 GB RAM’e sahip bir AMD Ryzen VDS sunucular için 32 GB swap önerisi, disk alanı israfına ve gereksiz I/O’ye yol açar. Bunun yerine, aşağıdaki kriterleri göz önünde bulundurmak daha akıllıca:
- RAM < 2 GB: RAM’in iki katı kadar swap (örnek: 1 GB RAM → 2 GB swap).
- RAM 2‑8 GB: RAM’in 1‑1.5 katı swap (örnek: 4 GB RAM → 5‑6 GB swap).
- RAM > 8 GB: 4‑8 GB sabit bir swap değeri yeterli olabilir, özellikle SSD kullanıyorsanız.
Yanlış boyutlandırmanın maliyeti ise ciddi olabilir: aşırı büyük swap, disk alanı tüketir ve yedekleme süresini uzatır; yetersiz swap ise “Out of Memory (OOM)” hatalarına ve servis kesintilerine neden olur. Bu yüzden, uygulamanızın bellek kullanım profiline göre dinamik bir plan yapmalısınız.
Swap Dosyası mı, Swap Bölümü mü? Avantaj‑Dezavantaj Karşılaştırması
| Özellik | Swap Dosyası | Swap Bölümü |
|---|---|---|
| Kurulum Kolaylığı | Komut satırından birkaç adım | Disk bölümlendirme gerektirir |
| Esnek Boyutlandırma | İhtiyaca göre artırılabilir/küçültülebilir | Boyut sabittir, yeniden bölümlendirme gerekir |
| Performans | SSD’de %95 verim | HDD’de hafif avantaj, SSD’de fark yok |
| Yedekleme | Dosya yedeklenebilir | Disk bölümü yedekleme daha karmaşık |
| Güvenlik | Dosya izinleriyle kontrol | Disk seviyesinde ayrı bir bölge |
Genel olarak, hızlı bir kurulum ve esneklik isteyenler için swap dosyası önerilir. Özellikle WordPress hosting gibi dinamik ortamlar, trafiğe göre swap boyutunu anlık olarak ayarlayabilir. Ancak, yüksek güvenlik ve izole bir ortam isteyen kurumsal müşteriler için swap bölümü tercih edilebilir.
Swap Performansını Artırmak İçin 7 Adım (Adım Adım Kılavuz)

- SSD Üzerinde Swap Oluşturun: SSD, HDD’ye göre rastgele okuma‑yazma süresini %70‑80 azaltır.
dd if=/dev/zero of=/swapfile bs=1M count=8192komutu ile 8 GB bir swap dosyası oluşturabilirsiniz. - Swap Dosyasının İzinlerini Ayarlayın:
chmod 600 /swapfilekomutu, sadece root’un erişimini sağlar ve güvenliği artırır. - Swap’i Aktifleştirin:
mkswap /swapfile && swapon /swapfilekomutlarıyla dosyayı swap alanı olarak tanımlayın. - Swappiness Değerini Optimize Edin: Varsayılan 60 olan
vm.swappinessdeğerini 10‑20’ye düşürmek, RAM’in daha uzun süre kullanılmasını sağlar.sysctl -w vm.swappiness=15ile geçici,/etc/sysctl.confdosyasına ekleyerek kalıcı yapabilirsiniz. - Cache Pressure Ayarını Düzenleyin:
vm.vfs_cache_pressuredeğeri 100’den düşük tutulursa, dosya sistemi önbelleği daha uzun süre korunur. Örneğin,sysctl -w vm.vfs_cache_pressure=50. - Swap Kullanımını İzleyin:
free -hvevmstat 1komutlarıyla anlık swap tüketimini kontrol edin. Anormal artışlar, uygulama sızıntılarını işaret eder. - Gereksiz Swap’i Devre Dışı Bırakın:
swapoff -aile tüm swap’i devre dışı bırakıp, sadece ihtiyacınız olanı yeniden etkinleştirin. Bu, özellikle bakım sırasında faydalıdır.
Bu adımları takip ederek, swap’in sistem üzerindeki olumsuz etkilerini minimuma indirebilir ve CPU kullanımını %25‑30 oranında düşürebilirsiniz.
Swap Kullanımını İzleme ve Sorun Giderme (Gerçek Dünya Senaryosu)
Bir e‑ticaret sitesinde aniden “502 Bad Gateway” hataları alıyorsanız, ilk bakmanız gereken yer swap kullanım oranıdır. e-ticaret hosting paketlerinde yoğun alışveriş dönemlerinde RAM dolabilir ve swap devreye girer. top komutunda “si” (swap‑in) ve “so” (swap‑out) değerleri yükseliyorsa, sistem swap üzerinden veri taşıyor demektir.
Gerçek bir örnek: 64 GB RAM’e sahip bir fiziksel sunucu üzerinde çalışan bir Magento mağazası, Black Friday kampanyası sırasında %85 RAM kullanımı ve 3 GB swap tüketimi gösterdi. Swappiness’i 10’a düşürüp, 8 GB SSD tabanlı swap dosyası eklediğimizde, yanıt süresi 1.2 saniyeden 0.7 saniyeye düştü ve “Out of Memory” hataları ortadan kalktı.
Swap Optimizasyonu İçin Güvenlik İpuçları ve En İyi Uygulamalar
Swap alanı, diskte açık bir dosya olarak bulunur; bu da hassas verilerin (şifreler, oturum anahtarları) swap’e yazılabileceği anlamına gelir. Bu riski azaltmak için:
- Swap Dosyasını Şifreleyin: LUKS (Linux Unified Key Setup) ile swap bölümü şifrelenebilir.
cryptsetup luksFormat /dev/sda5komutu ile şifreli bir swap bölümü oluşturulur. - Swap’i Erase Etmeden Kapatın:
swapoff -a && swapon -akomutları, swap içeriğini silmeden yeniden başlatır; bu, veri sızıntısını önler. - Günlükleri Temizleyin:
journalctl --vacuum-time=2dile sistem günlüklerini sınırlı tutarak, swap üzerinden sızabilecek logları azaltın. - Güvenlik Duvarı ve WAF Entegrasyonu: WAF güvenlik duvarı kurallarını swap kullanımını izleyen bir script ile birleştirerek, anormal artışlarda otomatik uyarı alabilirsiniz.
Bu adımlar, sadece performans değil, aynı zamanda veri bütünlüğü ve gizliliği açısından da kritik öneme sahiptir.
Sıkça Sorulan Sorular
Swap dosyası oluştururken hangi dosya sistemi önerilir?
Swap dosyası, ext4, xfs veya btrfs gibi yaygın Linux dosya sistemlerinde sorunsuz çalışır. Ancak, SSD performansından tam yararlanmak için dosya sisteminin “noatime” ve “nodiratime” seçenekleriyle yapılandırılması önerilir.
Swappiness değerini çok düşük ayarlamak sorun yaratır mı?
Evet. Swappiness’i 0’a ayarlamak, RAM tamamen dolana kadar swap’i hiç kullanmaz ve ani bellek patlamalarında OOM (Out of Memory) hatalarına yol açabilir. Genellikle 10‑20 aralığı güvenli bir denge sağlar.
Swap’i tamamen devre dışı bırakmak güvenli mi?
Swap’i tamamen kaldırmak, sistemin bellek yönetimini sadece RAM’e bağlar. Yeterli RAM yoksa kritik hizmetler çökebilir. Yedekleme ve test ortamlarında geçici olarak devre dışı bırakmak mantıklı olsa da, üretim ortamında en az 1‑2 GB swap önerilir.
Swap bölümü ile swap dosyası arasında performans farkı var mı?
Modern Linux çekirdeği, swap dosyası ve bölümü arasında büyük bir performans farkı yaratmaz. Önemli olan SSD gibi hızlı bir depolama ortamı kullanmak ve doğru ayarları (swappiness, cache pressure) yapmaktır.
Sonuç ve Önerilen Sonraki Adım
Swap alanı, bellek sıkıntılarını hafifletmek ve sistem kararlılığını korumak için kritik bir bileşendir. Doğru boyutlandırma, SSD tabanlı swap dosyası, swappiness ve cache pressure ayarlarıyla performansı %70’e kadar artırabilirsiniz. Ayrıca, güvenlik önlemleri alarak hassas verilerinizi korumayı unutmayın.
Bir sonraki adım olarak, sunucunuzun mevcut swap kullanımını free -h ve vmstat komutlarıyla analiz edin, ardından bu makaledeki 7 adımı uygulayarak swap’i optimize edin. Daha fazla performans artışı için Intel i9 VDS sunucular gibi yüksek hızlı CPU seçeneklerini de değerlendirebilirsiniz.