1. Anasayfa
  2. Linux

Linux İşletim Sisteminde Swap Alanı Hâlâ Gerekli mi?


Bir zamanlar donanım kaynakları sınırlı olan Linux sistemlerinde swap alanı, adeta bir hayat kurtarıcıydı. Ancak artık birçok kullanıcı 16, 32 hatta 128 GB RAM’e sahip sistemlerle çalışıyor. Peki bu durumda swap hâlâ gerekli mi? Cevap kısa ve net: Evet, ama doğru şekilde yapılandırıldığında.

Bu yazıda swap’in ne olduğunu nasıl çalıştığını hangi durumlarda avantaj veya dezavantaj sağladığını ve swap kullanımına alternatif çözümleri detaylı olarak ele alacağız.

Swap Nedir?

Swap Linux çekirdeğinin RAM yetersiz kaldığında disk üzerinde sanal bellek olarak kullandığı bir alandır.

RAM üzerindeki kullanılmayan ya da düşük öncelikli veriler swap alanına taşınarak aktif işlemlerin daha fazla fiziksel belleğe erişmesi sağlanır.

Swap alanı iki şekilde tanımlanabilir:

  • Swap bölümü (partition): Disk üzerinde ayrı bir bölüm olarak kurulum sırasında tanımlanır.
  • Swap dosyası (file): Var olan bir dosya sisteminde oluşturulabilir, daha esnektir ve kolayca yeniden boyutlandırılabilir.

Swap RAM gibi hızlı değildir. Hatta HDD gibi klasik disklerde binlerce kat yavaştır. SSD’lerde durum daha iyidir ama yine de RAM’in hızına yaklaşamaz.

Swappiness: Swap’in Ne Kadar Kullanılacağına Kim Karar Veriyor?

swappiness adlı çekirdek parametresi sistemin swap alanını ne kadar agresif kullandığını belirler.

Bu değer 0 ile 100 arasında değişir:

Swappiness DeğeriDavranış
0RAM dolmadıkça swap kullanılmaz.
10–30Hafif swap kullanımı (önerilir).
60 (varsayılan)Orta düzeyde swap kullanımı.
100RAM boş olsa bile swap’e veri atılabilir.

Geçici olarak test etmek için:

sudo sysctl vm.swappiness=10

Kalıcı hale getirmek için:

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

Swap Neden Hâlâ Gerekli?

1. RAM Taşmalarına Karşı Güvence

RAM tamamen dolduğunda swap devreye girerek işlemlerin devam etmesini sağlar. Swap olmadan sistem kilitlenebilir veya süreçler zorla sonlandırılır.

2. Arka Plan Süreçleri İçin RAM’de Yer Açma

Uzun süre işlem yapmayan süreçlerin belleği swap’e taşınabilir. Bu aktif uygulamalar için RAM’i boşaltır.

3. Hibernate (Askıya Alma) Desteği

Sistemi askıya alırken RAM içeriği swap’e yazılır. Swap olmadan hibernate özelliği çalışmaz.

4. Sanallaştırma ve Konteynerler için Esneklik

Swap, kaynak kısıtlaması olan ortamlarda (örneğin Docker, KVM) daha fazla esneklik sağlar.

Swap Neden Kullanılmamalı?

1. Swap Yavaştır

Disk RAM kadar hızlı değildir.

Özellikle HDD kullanılıyorsa swap ciddi yavaşlamalara neden olabilir.

2. Gerçek Zamanlı Sistemlerde Gecikme Yaratır

Canlı ses işleme, düşük gecikmeli video uygulamaları veya yüksek frekanslı finans işlemleri gibi iş yüklerinde swap kullanımı performans düşüşüne yol açabilir.

3. SSD Ömrünü Kısaltabilir

Swap, diske sürekli yazma anlamına gelir.

SSD’ler sınırlı yazma ömrüne sahip olduğundan swap bu ömrü tüketebilir.

4. Yanlış Yapılandırıldığında Performansı Düşürür

Aşırı büyük swap alanı sistemin RAM yerine swap’i tercih etmesine neden olabilir.

Bu da “RAM boş ama sistem yavaş” gibi sorunlara yol açar.

5. Bellek Sızıntılarını Gizleyebilir

Swap varlığı yazılım hatalarını maskeleyebilir.

Memory leak içeren uygulamalar swap sayesinde çalışmaya devam eder ama sistem performansı zamanla düşer.

Swap Ne Zaman Kullanılmalı, Ne Zaman Kaçınılmalı?

Sistem DurumuTavsiye
8–16 GB RAM2–4 GB swap önerilir. Swappiness: 10–20.
32+ GB RAM2–4 GB swap dosyası, düşük swappiness yeterli.
Ses/video işleme, HFT sistemleriSwap devre dışı bırakılabilir.
Eski HDD ve düşük RAMSwap zorunludur ama yavaşlama göze alınmalıdır.
SSD kullanıcılarıSwap alanı sınırlandırılmalı, yazma döngüsü azaltılmalı.

Swap Dosyası Nasıl Oluşturulur?

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Durumu kontrol etmek için:

free -h
swapon --show

Alternatifler: Swap Yerine Ne Kullanabiliriz?

🔹 ZRAM

  • RAM üzerinde sıkıştırılmış swap alanı oluşturur.
  • Özellikle düşük RAM’li sistemlerde verimlidir.
  • CPU yükü artabilir ama I/O yükü azalır.

🔹 zswap

  • RAM içindeki sayfaları diske yazmadan önce sıkıştırır.
  • Swap kullanımı azaltılır, sistem tepkisi iyileşir.

🔹 earlyoom / systemd-oomd

  • Bellek bitmeden önce en çok bellek kullanan uygulamaları sonlandırır.
  • Swap kullanılmadan sistem çökmeye karşı korunur.

🔹 cgroups ve bellek sınırlamaları

  • Docker ve LXC gibi ortamlarda süreçlerin swap kullanımını sınırlar.

Swap Kullanımı İzleme Araçları

  • free -h: RAM ve swap kullanımını gösterir.
  • vmstat 1: Swap in/out oranlarını canlı takip eder.
  • htop: Swap kullanan işlemleri renkli arayüzle listeler.
  • iotop: Swap nedeniyle oluşan disk I/O yükünü izler.

Önerilen En İyi Uygulamalar

  • Her sistemde küçük de olsa swap bulunmalı.
  • Swappiness değeri düşürülmeli (10–20).
  • Swap dosyası tercih edilmeli, gerektiğinde boyutu kolayca değiştirilmeli.
  • SSD üzerinde swap varsa, dikkatli kullanım ve izleme yapılmalı.
  • Gerçek zamanlı sistemlerde swap devre dışı bırakılmalı veya ZRAM gibi alternatifler denenmeli.