Swap Nedir? Linux Sunucularda Swap Alanı Yönetimi Rehberi

Swap Nedir? Linux Sunucularda Swap Alanı Yönetimi Rehberi - Corelux
22 May 2026
Paylaş:

Swap Nedir? Linux Sunucularda Swap Alanı Yönetimi Rehberi

Son Güncelleme: Mayıs 2026

Swap, Linux sunucularda fiziksel bellek (RAM) yetersiz kaldığında devreye giren yardımcı disk alanıdır. Doğru planlanan swap yönetimi, sistem kararlılığı, bellek taşmalarının kontrolü ve ani kaynak tüketimlerinde servis sürekliliği açısından kritik öneme sahiptir.

İçindekiler

Swap Nedir?

Swap alanı, işletim sisteminin aktif olarak kullanılmayan bellek sayfalarını (memory pages) RAM'den disk üzerine taşımasına imkân veren özel bir depolama alanıdır. Türkçe karşılığıyla bu yapı, takas alanı veya yedek bellek alanı olarak düşünülebilir.

Bir Linux sunucuda uygulamalar RAM kullanır. RAM dolmaya başladığında çekirdek (kernel), daha az kullanılan bazı verileri swap alanına taşıyarak aktif işlemler için RAM'de yer açabilir. Böylece sistem, bellek baskısı altında tamamen kilitlenmeden çalışmaya devam edebilir.

Ancak burada önemli bir nokta vardır: swap, RAM'in yerine geçen bir kaynak değildir. Disk erişimi, RAM'e göre çok daha yavaştır. Bu nedenle swap kullanımı, geçici rahatlama sağlasa da yoğun swap kullanımı performans düşüşüne yol açabilir.

Swap Nasıl Çalışır?

Linux çekirdeği, sistemdeki bellek durumunu sürekli izler. Bellek ihtiyacı arttığında, o anda aktif olmayan veya daha düşük öncelikli bellek sayfaları swap alanına aktarılabilir. Uygulama bu verilere yeniden ihtiyaç duyduğunda, sayfalar diskten tekrar RAM'e alınır.

Bellek yönetimi mantığı

  • RAM önceliklidir: İşletim sistemi önce fiziksel belleği kullanır.
  • Swap destekleyicidir: RAM baskı altına girdiğinde yardımcı alan sağlar.
  • Sayfa taşıma yapılır: Tüm uygulama değil, belirli bellek sayfaları disk alanına yazılır.
  • Performans farkı büyüktür: SSD üzerinde swap, HDD'ye göre daha hızlı olsa da yine RAM kadar hızlı değildir.

Bu süreç özellikle yoğun veritabanı kullanımı, büyük önbellek tüketimi, Java uygulamaları, PHP-FPM havuzları, Node.js servisleri veya anlık trafik sıçramalarında önem kazanır.

Swap Ne Zaman Gereklidir?

Her sunucunun mutlaka yüksek boyutlu bir swap alanına ihtiyacı yoktur. İhtiyaç; uygulama tipi, RAM kapasitesi, disk performansı ve sistemin kritikliği gibi faktörlere bağlıdır.

Swap kullanmanın mantıklı olduğu durumlar

  • Düşük RAM'li VPS/VDS sunucular: 1 GB, 2 GB veya 4 GB RAM'e sahip sistemlerde ani yüklenmeler için güvenlik payı sağlar.
  • Bellek kullanımının dalgalandığı uygulamalar: Trafik artışı, cron görevleri veya raporlama işlemleri sırasında geçici koruma sunar.
  • OOM riskini azaltmak isteyen sistemler: OOM Killer (bellek taşmasında süreç sonlandırıcı) daha geç devreye girer.
  • Geliştirme ve test ortamları: Üretim kadar optimize olmayan ortamlarda sistemin ani kapanmasını önleyebilir.
  • Hibernation dışı sunucu kullanımında emniyet alanı: Sunucularda uyku modu yaygın olmasa da swap yine de stabilite için faydalıdır.

Swap'ın sınırlı fayda sağlayacağı durumlar

  • Sürekli bellek yetersizliği yaşayan sistemler: Sorun swap eksikliği değil, yetersiz RAM olabilir.
  • Yoğun disk I/O kullanan uygulamalar: Swap kullanımının artması disk darboğazı oluşturabilir.
  • Yüksek performans gerektiren gerçek zamanlı işler: Düşük gecikme (latency) gereken uygulamalarda swap olumsuz etki yaratabilir.

Swap Dosyası ve Swap Bölümü

Linux'ta swap iki farklı yöntemle yapılandırılabilir: swap partition (swap bölümü) ve swap file (swap dosyası).

Yöntem Açıklama Avantaj Dezavantaj
Swap Bölümü Disk üzerinde ayrı bir bölüm olarak ayrılır. Daha geleneksel ve kurulum sırasında düzenli yapı sağlar. Boyut değiştirmek daha zahmetlidir.
Swap Dosyası Dosya sistemi içinde normal bir dosya olarak oluşturulur. Esnek, hızlı ve sonradan kolayca eklenebilir. Yanlış izin veya yanlış yapılandırma sorun çıkarabilir.

Modern Linux dağıtımlarında swap dosyası yaklaşımı oldukça yaygındır. Özellikle bulut sunucu, VPS ve VDS altyapılarında hızlı kurulum ve esnek kapasite yönetimi açısından daha pratiktir.

Linux'da Swap Kontrolü

Bir sunucuda mevcut swap alanını ve kullanım durumunu öğrenmek için çeşitli komutlar kullanılabilir.

Temel kontrol komutları

free -h

Bu komut, RAM ve swap kullanımını insan tarafından okunabilir formatta gösterir.

swapon --show

Aktif swap alanlarını, türlerini ve boyutlarını listeler.

cat /proc/swaps

Çekirdeğin gördüğü swap alanlarını görüntüler.

vmstat 1 5

Bellek, swap in/out ve sistem yükünü kısa aralıklarla analiz etmek için kullanılır.

Çıktıları nasıl yorumlamalı?

  • Swap total: Toplam tanımlı swap kapasitesidir.
  • Swap used: O anda kullanılan swap miktarıdır.
  • Swap free: Boş swap kapasitesidir.
  • si / so değerleri: vmstat çıktısında swap in ve swap out hareketlerini ifade eder.

Eğer sisteminizde sürekli artan so değeri ve yüksek disk gecikmesi görülüyorsa, bu durum swap baskısına işaret edebilir.

Swap Alanı Oluşturma

Swap dosyası oluşturmak, özellikle mevcut sunucularda pratik bir çözümdür. Aşağıdaki örnek 2 GB boyutunda bir swap dosyası oluşturur.

1. Swap dosyasını oluşturun

fallocate -l 2G /swapfile

Eğer fallocate desteklenmiyorsa şu komut da kullanılabilir:

dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress

2. Dosya izinlerini güvenli hale getirin

chmod 600 /swapfile

Bu adım önemlidir. Swap dosyasının yalnızca root kullanıcısı tarafından erişilebilir olması gerekir.

3. Dosyayı swap olarak biçimlendirin

mkswap /swapfile

4. Swap alanını aktif edin

swapon /swapfile

5. Kalıcı hale getirin

Sunucu yeniden başlatıldığında swap'ın otomatik bağlanması için /etc/fstab dosyasına aşağıdaki satır eklenmelidir:

/swapfile none swap sw 0 0

6. Doğrulama yapın

swapon --show
free -h

Bu işlemler sonrasında sunucunuz yeni swap alanını kullanmaya başlayacaktır.

Swappiness Ayarı Nedir?

Swappiness, Linux çekirdeğinin swap kullanma eğilimini belirleyen parametredir. Değer aralığı genellikle 0 ile 100 arasındadır.

  • Düşük değer: Sistem RAM'i mümkün olduğunca uzun süre kullanır.
  • Yüksek değer: Çekirdek swap kullanımına daha erken yönelebilir.

Varsayılan değer dağıtıma göre değişebilse de çoğu sunucuda daha kontrollü bellek davranışı için 10, 20 veya 30 gibi değerler tercih edilir.

Mevcut swappiness değerini kontrol etme

cat /proc/sys/vm/swappiness

Geçici olarak değiştirme

sysctl vm.swappiness=20

Kalıcı olarak değiştirme

/etc/sysctl.conf dosyasına şu satırı ekleyebilirsiniz:

vm.swappiness = 20

Ardından ayarları uygulayın:

sysctl -p

Burada ideal değer, sunucunun iş yüküne göre değişir. Veritabanı ağırlıklı sistemlerde düşük swappiness tercih edilirken, genel amaçlı düşük RAM'li sunucularda orta seviyeler daha dengeli olabilir.

Performans ve Riskler

Swap kullanımı her zaman kötü değildir; kötü olan, sistemin swap'a sürekli bağımlı hale gelmesidir. Bu farkı anlamak gerekir.

Olumlu etkiler

  • Stabilite artışı: Ani RAM dolumlarında sistemin hemen çökmesini önleyebilir.
  • OOM riskinin azalması: Kritik servislerin beklenmedik kapanması gecikebilir veya önlenebilir.
  • Düşük trafikli servislerde esneklik: Nadiren kullanılan bellek alanları disk üzerinde tutulabilir.

Olumsuz etkiler

  • Yavaşlama: Disk erişimi RAM'e göre çok daha yavaş olduğu için uygulama tepkileri düşebilir.
  • Thrashing riski: Sistem sürekli RAM ve swap arasında veri taşıyorsa ciddi performans kaybı oluşur.
  • Disk yükü: Özellikle zayıf IOPS değerine sahip disklerde darboğaz oluşabilir.

Bu nedenle swap, bir performans çözümü değil; daha çok bir kararlılık tamponu olarak düşünülmelidir.

Pratik Kullanım Senaryoları

1. Küçük ölçekli web sunucusu

2 GB RAM'e sahip bir Sanal Sunucu üzerinde Nginx, PHP ve MariaDB çalıştırdığınızı düşünelim. Trafik normalde düşük olsa da zaman zaman yedek alma, log işleme veya eklenti güncelleme sırasında bellek ihtiyacı artabilir. Bu durumda 1-2 GB swap alanı, ani bellek taşmalarına karşı koruma sağlar.

2. WordPress ve kontrol paneli birlikte çalışan sistem

WordPress, PHP süreçleri ve kontrol paneli servisleri aynı sunucuda çalışıyorsa RAM tüketimi dalgalı olabilir. Özellikle yönetim paneli işlemleri, görsel işleme ve yedekleme sırasında swap destekleyici rol oynar.

3. Geliştirme ortamı

Birden fazla servis içeren test ortamlarında; örneğin web sunucusu, veritabanı, queue worker ve cache servisi aynı makinede bulunuyorsa bellek planlaması her zaman ideal olmayabilir. Swap, geçici güvenlik alanı sunar.

4. Uygulama sunucuları

Arka planda çalışan otomasyon araçları, entegrasyon platformları veya iş akışı yazılımları için Uygulama Sunucuları tercih edilir. Bu tür sistemlerde beklenmedik görev yoğunluklarında swap, servis sürekliliğine katkı sağlar.

5. Kaynak yükseltme öncesi geçici çözüm

Eğer sunucu kaynakları kalıcı olarak yetersiz hale geldiyse swap yalnızca kısa vadeli rahatlama sağlar. Bu noktada daha yüksek kaynaklı Kiralık Sunucu veya uygun yapıdaki Bulut Sunucu seçeneklerine geçiş düşünülmelidir.

En İyi Uygulamalar

Swap yönetiminde tek bir doğru yoktur; ancak aşağıdaki uygulamalar çoğu Linux sunucuda güvenli ve verimli sonuç verir.

  • Swap'ı tamamen sıfırlamayın: Küçük de olsa bir swap alanı bırakmak sistem kararlılığı açısından faydalıdır.
  • Yoğun swap kullanımını normal kabul etmeyin: Sürekli kullanım varsa RAM veya uygulama optimizasyonu gereklidir.
  • Swappiness değerini test ederek belirleyin: Her iş yükü için aynı değer ideal değildir.
  • Disk performansını dikkate alın: Swap kullanılan sistemlerde SSD altyapı avantaj sağlar.
  • İzleme yapın: Bellek, disk I/O ve süreç tüketimi birlikte analiz edilmelidir.
  • Yedekleme ve değişiklik planı oluşturun: /etc/fstab ve sysctl değişikliklerinden önce yapılandırma notları alın.
  • Kaynak ihtiyacını doğru belirleyin: Swap, yetersiz altyapıyı sonsuza kadar telafi etmez.

Önerilen genel yaklaşım

Sunucu Tipi Önerilen Yaklaşım Not
1-2 GB RAM VPS 1-2 GB swap Kararlılık için faydalıdır.
4-8 GB RAM web sunucusu 1-4 GB swap İş yüküne göre ayarlanmalıdır.
Yüksek trafikli veritabanı sunucusu Düşük swap + düşük swappiness Performans önceliklidir.
Geliştirme/test ortamı Esnek swap dosyası Dalgalı kullanım için pratiktir.

Eğer altyapınızı büyütmeyi planlıyorsanız, proje yapınıza göre Linux Hosting, Türkiye VPS Sunucu veya Türkiye VDS Sunucu çözümleri değerlendirilebilir.

Sıkça Sorulan Sorular

Swap RAM yerine geçer mi?

Hayır. Swap, RAM yerine geçen bir kaynak değil; RAM yetersiz kaldığında geçici destek sunan daha yavaş bir disk alanıdır.

Sunucuda hiç swap olmaması sorun yaratır mı?

Evet, bazı senaryolarda yaratabilir. Özellikle ani bellek artışlarında swap alanı yoksa sistem daha hızlı şekilde OOM Killer devreye sokabilir ve süreçleri sonlandırabilir.

Swap dosyası mı, swap bölümü mü daha iyidir?

Modern sistemlerde çoğu kullanım için swap dosyası daha pratiktir. Yönetimi kolaydır, kapasitesi hızlı değiştirilebilir ve özellikle VPS/VDS altyapılarında esnek çözüm sunar.

Swappiness kaç olmalı?

Net tek bir değer yoktur. Genel sunucu kullanımlarında 10 ile 30 arası değerler sık tercih edilir. İdeal değer, uygulamanızın bellek davranışına göre test edilmelidir.

Swap kullanımı yüksekse ne yapmalıyım?

Önce hangi süreçlerin RAM tükettiğini analiz etmelisiniz. Ardından uygulama optimizasyonu, gereksiz servislerin kapatılması, önbellek ayarlarının düzeltilmesi veya RAM yükseltmesi düşünülmelidir.

SSD sunucularda swap kullanmak güvenli midir?

Evet, genel olarak kullanılabilir. Ancak yoğun ve sürekli swap trafiği hem performansı düşürür hem de disk I/O yükünü artırır. Amaç sürekli kullanım değil, kontrollü destek sağlamaktır.

Sonuç

Swap yönetimi, Linux sunucularda göz ardı edilmemesi gereken temel konulardan biridir. Doğru yapılandırılmış bir swap alanı, özellikle düşük ve orta kaynaklı sistemlerde bellek taşmalarına karşı önemli bir güvenlik tamponu sağlar. Bununla birlikte swap'ın sürekli kullanılması, altyapı yetersizliği veya uygulama optimizasyon eksikliği anlamına gelebilir.

Projenizin ihtiyacına göre doğru sunucu kaynağını seçmek, swap'a aşırı bağımlılığı azaltır ve daha dengeli performans sağlar. Corelux'un Sanal Sunucu, Kiralık Sunucu, Hosting ve Yedekleme Hizmeti çözümleri ile altyapınızı daha güvenli ve sürdürülebilir şekilde planlayabilirsiniz.

Yazar

Boran BAR

Chat on WhatsApp