Linux Sunucularda Swap Alanı Yönetimi: Performans ve Doğru Boyutlandırma Rehberi

Linux Sunucularda Swap Alanı Yönetimi: Performans ve Doğru Boyutlandırma Rehberi - Corelux
Paylaş:

Linux Sunucularda Swap Alanı Yönetimi: Performans ve Doğru Boyutlandırma Rehberi

Son Güncelleme: Eylül 2026

Swap alanı, Linux sunucularda fiziksel RAM yetersiz kaldığında devreye giren ve sistem kararlılığını korumaya yardımcı olan disk tabanlı bellek alanıdır. Doğru yapılandırılmış swap yönetimi, özellikle VPS, VDS, bulut sunucu ve yoğun trafik alan hosting ortamlarında performans, güvenlik ve süreklilik açısından kritik rol oynar.

İçindekiler

Swap Nedir?

Swap, Linux işletim sistemlerinde fiziksel belleğin yani RAM’in yetersiz kaldığı durumlarda kullanılan ek bellek alanıdır. Bu alan genellikle disk üzerinde ayrılır ve sistem, RAM’de uzun süredir kullanılmayan sayfaları swap alanına taşıyarak aktif işlemler için RAM’de yer açar. Türkçe karşılığıyla takas alanı olarak da ifade edilen swap, performansı artırmaktan çok sistemin ani bellek yetersizliği nedeniyle çökmesini önlemeye odaklanır.

Bir sunucuda RAM tamamen dolduğunda Linux çekirdeği (kernel), işlemleri devam ettirebilmek için iki temel yoldan birini seçer: kullanılmayan bellek sayfalarını swap alanına taşımak veya bellek tüketimi yüksek bir süreci sonlandırmak. İkinci seçenek çoğu zaman OOM Killer olarak bilinen mekanizma ile gerçekleşir. OOM Killer, Out of Memory Killer yani bellek yetersizliği sonlandırıcısı anlamına gelir ve kritik bir veritabanı, web sunucusu veya arka plan servisini beklenmedik şekilde durdurabilir.

Bu nedenle swap, özellikle Linux VPS, VDS sunucu, küçük RAM’e sahip test ortamları, WordPress siteleri, PHP uygulamaları, veritabanı sunucuları ve arka planda çalışan cron işleri için önemli bir güvenlik tamponu sağlar. Ancak swap, RAM kadar hızlı değildir. Disk tabanlı olduğu için yoğun swap kullanımı, sunucuda ciddi yavaşlamalara yol açabilir. Bu yüzden amaç, swap alanını sürekli kullanılan ana bellek gibi görmek değil, ani bellek dalgalanmalarına karşı kontrollü bir emniyet katmanı olarak değerlendirmektir.

Swap Ne Zaman Kullanılır?

Swap alanı, her Linux sunucuda aynı amaçla kullanılmaz. Bazı sistemlerde yalnızca acil durum tamponu olarak kalırken, bazı sistemlerde bellek baskısını azaltmak için daha aktif kullanılır. Doğru yaklaşım, sunucunun iş yüküne, disk tipine, RAM kapasitesine ve uygulama davranışına göre belirlenmelidir.

  • Ani trafik artışları: Kampanya dönemlerinde veya arama motoru botlarının yoğun ziyaretlerinde web uygulamaları beklenenden fazla RAM tüketebilir. Swap, bu geçici dalgalanmalarda sürecin tamamen çökmesini önleyebilir.
  • Veritabanı işlemleri: MySQL, MariaDB, PostgreSQL gibi sistemlerde yedek alma, indeks oluşturma veya büyük sorgular geçici bellek artışı oluşturabilir. Swap, kısa süreli bellek taşmalarında zaman kazandırır.
  • Derleme ve kurulum işlemleri: Kaynaktan yazılım derleme, paket güncelleme veya büyük bağımlılık kurulumları sırasında bellek ihtiyacı normal kullanımın üzerine çıkabilir.
  • Küçük RAM’li VPS ortamları: 1 GB veya 2 GB RAM’e sahip sanal sunucularda temel servisler çalışırken bile ani bellek baskısı oluşabilir. Kontrollü swap yapılandırması kararlılığı artırır.
  • Arka plan görevleri: Yedekleme, log sıkıştırma, görsel optimizasyonu veya raporlama görevleri belirli saatlerde belleği yoğun kullanabilir. Swap bu işlemlerde sistemin ayakta kalmasına yardımcı olur.

Buna karşılık swap kullanımı sürekli yüksekse bu durum genellikle daha büyük bir sorunun işaretidir. Uygulama bellek sızıntısı yaşıyor olabilir, veritabanı önbellekleri yanlış ayarlanmış olabilir veya mevcut sunucu planı iş yüküne yetmiyor olabilir. Böyle bir durumda yalnızca swap alanını büyütmek kalıcı çözüm değildir. Kaynak ihtiyacı artan projeler için Sanal Sunucu, daha yüksek izolasyon gerektiren yapılar için Türkiye VDS Sunucu seçenekleri değerlendirilebilir.

Swap Türleri: Partition, Swap File ve ZRAM

Linux sistemlerde swap alanı farklı yöntemlerle sağlanabilir. En yaygın üç yaklaşım swap partition, swap file ve ZRAM kullanımıdır. Her yöntemin avantajları, yönetim kolaylığı ve performans etkisi farklıdır.

Swap Türü Açıklama Avantaj Dikkat Edilmesi Gerekenler
Swap Partition Disk üzerinde özel bir bölüm olarak ayrılan swap alanıdır. Geleneksel, kararlı ve öngörülebilir yapı sunar. Boyut değiştirmek için disk bölümleme işlemi gerekebilir.
Swap File Dosya sistemi üzerinde oluşturulan özel bir swap dosyasıdır. Kolay oluşturulur, büyütülür veya kaldırılır. Dosya izinleri doğru ayarlanmazsa güvenlik riski oluşturabilir.
ZRAM RAM içinde sıkıştırılmış blok aygıtı oluşturarak swap benzeri kullanım sağlar. Disk I/O yükünü azaltabilir ve küçük sistemlerde verimli olabilir. CPU kullanımı artabilir; her iş yükü için uygun değildir.

Modern Linux sunucularda yönetim kolaylığı nedeniyle swap file kullanımı oldukça yaygındır. Özellikle VPS ve VDS ortamlarında disk bölümlerini yeniden düzenlemek istemeyen sistem yöneticileri için swap dosyası pratik bir çözümdür. Buna karşılık fiziksel sunucularda veya özel kurulumlarda swap partition tercih edilebilir.

ZRAM, sıkıştırılmış RAM tabanlı bir swap yöntemi olduğu için disk erişimini azaltabilir. Ancak ZRAM, fiziksel RAM’in yerini almaz; yalnızca bellekteki verileri sıkıştırarak daha verimli kullanım sağlamaya çalışır. CPU kaynakları sınırlı, ancak disk I/O maliyeti yüksek sistemlerde dikkatli test edilmelidir.

Swap Alanı Nasıl Boyutlandırılır?

Swap boyutlandırması için tek bir evrensel kural yoktur. Eski yaklaşımda swap alanının RAM’in iki katı olması önerilirdi; ancak günümüzde sunucu RAM kapasiteleri büyüdüğü, SSD diskler yaygınlaştığı ve uygulama mimarileri çeşitlendiği için bu kural her sistemde doğru değildir. En doğru boyut, sunucunun rolüne göre belirlenmelidir.

Sunucu Profili Önerilen Swap Yaklaşımı Açıklama
1-2 GB RAM VPS 1-2 GB swap Küçük sistemlerde ani bellek artışlarına karşı faydalıdır.
4-8 GB RAM web sunucusu 2-4 GB swap PHP, Nginx, Apache ve veritabanı birlikte çalışıyorsa tampon sağlar.
16-32 GB RAM uygulama sunucusu 4-8 GB swap Sürekli swap kullanılmamalı, yalnızca güvenlik alanı olarak kalmalıdır.
Veritabanı sunucusu Dikkatli ve sınırlı swap Yoğun swap, sorgu gecikmelerini artırabilir; bellek ayarları önceliklidir.
Konteyner veya mikroservis ortamı İş yüküne göre sınırlı swap Konteyner bellek limitleri ve uygulama davranışı birlikte değerlendirilmelidir.

Swap boyutunu belirlerken yalnızca RAM miktarına bakmak yeterli değildir. Disk tipi, uygulama karakteri, yedekleme politikası, trafik yoğunluğu, veritabanı tampon ayarları ve beklenen büyüme de hesaba katılmalıdır. Örneğin NVMe SSD kullanan bir sunucuda swap erişimi klasik mekanik diske göre daha hızlı olsa da RAM ile kıyaslandığında yine belirgin şekilde yavaştır. Bu nedenle swap’a güvenerek yetersiz RAM ile yüksek trafikli bir projeyi çalıştırmak doğru bir kapasite planlaması değildir.

Kurumsal uygulamalar, yüksek trafikli e-ticaret siteleri veya çok sayıda müşteriye hizmet veren bayi hosting yapıları için daha dengeli kaynak planlaması gerekir. Paylaşımlı web projeleri için Linux Hosting, daha fazla kontrol ve ayrılmış kaynak isteyen yapılar için Bulut Sunucu veya Kiralık Sunucu seçenekleri değerlendirilebilir.

Linux Sunucuda Swap Alanı Oluşturma

Linux sunucuda swap alanı oluşturmanın en pratik yollarından biri swap file kullanmaktır. Aşağıdaki örnekte 2 GB boyutunda bir swap dosyası oluşturulmaktadır. Komutları uygulamadan önce mevcut bellek ve disk durumunu kontrol etmek önemlidir.

free -h
df -h
swapon --show

Bu komutlar mevcut RAM kullanımını, disk boş alanını ve aktif swap alanlarını gösterir. Eğer yeterli disk alanı varsa yeni bir swap dosyası oluşturabilirsiniz.

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

chmod 600 komutu, swap dosyasının yalnızca root kullanıcısı tarafından okunup yazılmasını sağlar. Bu adım güvenlik açısından önemlidir; çünkü swap alanında bellekte bulunan hassas verilerin disk üzerine taşınmış parçaları yer alabilir.

Swap dosyasını sistem yeniden başlatıldığında otomatik etkinleşecek şekilde yapılandırmak için /etc/fstab dosyasına aşağıdaki satır eklenebilir:

/swapfile none swap sw 0 0

Değişikliğin doğru çalıştığını test etmek için şu komutlar kullanılabilir:

sudo swapoff -a
sudo swapon -a
swapon --show
free -h

Eğer swap alanını kaldırmak isterseniz önce devre dışı bırakmalı, ardından /etc/fstab kaydını silmeli ve dosyayı kaldırmalısınız.

sudo swapoff /swapfile
sudo rm /swapfile

Bu işlemler özellikle üretim ortamlarında dikkatle yapılmalıdır. Bellek kullanımı yüksekken swap alanını kapatmak, sistemin OOM Killer mekanizmasını tetikleyebilir. Bu nedenle işlem öncesinde free -h, top veya htop ile bellek durumu kontrol edilmelidir.

Swappiness Ayarı ve Performans Optimizasyonu

Swappiness, Linux çekirdeğinin RAM yerine swap kullanımına ne kadar eğilimli olduğunu belirleyen bir parametredir. Değer genellikle 0 ile 100 arasında ayarlanır. Düşük değerler sistemin swap kullanmadan önce RAM’i daha fazla kullanmasını teşvik ederken, yüksek değerler daha erken swap kullanımına neden olabilir.

Mevcut swappiness değerini görmek için şu komut kullanılabilir:

cat /proc/sys/vm/swappiness

Geçici olarak yeni değer atamak için:

sudo sysctl vm.swappiness=10

Kalıcı ayar için /etc/sysctl.conf dosyasına aşağıdaki satır eklenebilir:

vm.swappiness=10

Web sunucuları ve veritabanı barındıran sistemlerde genellikle düşük swappiness değerleri tercih edilir; çünkü yoğun swap kullanımı yanıt sürelerini artırabilir. Ancak değer çok düşük ayarlandığında sistem RAM’i sonuna kadar kullanır ve ani bellek artışlarında daha agresif davranabilir. Bu nedenle swappiness ayarı, tek başına mucizevi bir performans çözümü değildir; uygulama önbellekleri, PHP-FPM havuz ayarları, veritabanı bellek limitleri ve işletim sistemi izleme verileriyle birlikte değerlendirilmelidir.

  • Web sunucuları: Düşük swappiness, aktif isteklerin RAM’de kalmasına yardımcı olabilir.
  • Veritabanı sunucuları: Çok yoğun swap sorgu sürelerini artırabileceği için bellek ayarları dikkatle yapılmalıdır.
  • Yedekleme sunucuları: Zaman zaman yüksek bellek tüketen sıkıştırma işlemleri için kontrollü swap yararlı olabilir.
  • Test ortamları: Daha esnek swappiness değerleri denenerek uygulama davranışı gözlemlenebilir.

Swap İzleme ve Sorun Giderme

Swap alanını oluşturmak tek başına yeterli değildir; düzenli izleme yapılmadığında swap kullanımı performans sorunlarının fark edilmeden büyümesine neden olabilir. Özellikle CPU kullanımı normal görünürken sitelerde yavaşlama yaşanıyorsa, disk I/O ve swap kullanımı mutlaka incelenmelidir.

Temel izleme için aşağıdaki komutlar kullanılabilir:

free -h
swapon --show
vmstat 1 5
top

vmstat çıktısında si ve so alanları önemlidir. si, swap içinden RAM’e taşınan veriyi; so, RAM’den swap alanına taşınan veriyi gösterir. Bu değerlerin sürekli yüksek olması, sistemin aktif şekilde swap kullandığına ve performans baskısı yaşadığına işaret edebilir.

Daha ayrıntılı inceleme için süreç bazlı bellek tüketimi kontrol edilebilir:

ps aux --sort=-%mem | head -n 10

Bu komut, belleği en çok kullanan süreçleri listeler. Eğer belirli bir uygulama sürekli büyüyen RAM kullanımı gösteriyorsa bellek sızıntısı, yanlış yapılandırılmış önbellek, hatalı eklenti veya verimsiz sorgu gibi sorunlar araştırılmalıdır. WordPress sitelerinde gereksiz eklentiler, PHP uygulamalarında uzun çalışan worker süreçleri, Laravel queue işlerinde kapanmayan görevler swap baskısına neden olabilir.

Swap kullanımını değerlendirirken tek seferlik yüksek kullanım ile sürekli baskı arasında ayrım yapmak gerekir. Örneğin gece çalışan yedekleme işlemi sırasında kısa süreli swap kullanımı kabul edilebilir. Ancak gün boyu yüksek swap kullanımı varsa, sistemde kapasite yetersizliği veya yazılım kaynaklı bir problem bulunma olasılığı yüksektir.

Swap Güvenliği İçin Alınması Gereken Önlemler

Swap alanı yalnızca performans konusu değildir; aynı zamanda sunucu güvenliği açısından da değerlendirilmelidir. Çünkü RAM’de geçici olarak bulunan oturum verileri, API anahtarları, şifre parçaları veya uygulama sırları teorik olarak swap alanına yazılabilir. Bu nedenle özellikle hassas veri işleyen sistemlerde swap güvenliği ihmal edilmemelidir.

  • Dosya izinleri: Swap dosyası kullanılıyorsa izinler mutlaka 600 olmalıdır. Böylece yalnızca root kullanıcısı dosyaya erişebilir.
  • Disk şifreleme: Hassas sistemlerde disk veya swap şifreleme tercih edilmelidir. Fiziksel erişim riskinin bulunduğu ortamlarda bu önlem önem kazanır.
  • Gereksiz swap büyüklüğünden kaçınma: Çok büyük swap alanı, sorunu gizleyebilir ve hassas verilerin diskte daha uzun süre kalmasına neden olabilir.
  • Yetkisiz erişim denetimi: Root erişimi, SSH güvenliği ve kullanıcı izinleri düzenli kontrol edilmelidir.
  • Log ve izleme: Bellek baskısı, OOM olayları ve servis yeniden başlatmaları merkezi izleme sistemleriyle takip edilmelidir.

Güvenlik odaklı projelerde yalnızca swap değil, tüm sunucu yaşam döngüsü dikkate alınmalıdır. SSL yapılandırması, güvenli yedekleme, erişim kontrolü ve düzenli güncelleme politikaları birlikte ele alınmalıdır. Web uygulamalarında şifreli trafik için SSL Sertifikası, veri kaybı riskini azaltmak için Yedekleme Hizmeti tercih edilebilir.

Pratik Kullanım Senaryoları

Swap yapılandırmasının nasıl ele alınacağı, sunucunun kullanım amacına göre değişir. Aşağıdaki senaryolar, gerçek dünyada sık karşılaşılan örnekleri özetler.

WordPress Hosting Sunucusu

WordPress siteleri tema, eklenti, görsel optimizasyonu ve yönetim paneli işlemleri sırasında anlık bellek artışı yaşayabilir. Özellikle WooCommerce gibi eklentilerle çalışan sitelerde sipariş raporları, ürün içe aktarma işlemleri veya yedekleme eklentileri RAM tüketimini yükseltebilir. Bu tür yapılarda 2-4 GB arası kontrollü swap alanı, ani çökme riskini azaltabilir. Ancak sürekli swap kullanımı varsa PHP memory limit, eklenti kalitesi ve veritabanı performansı ayrıca incelenmelidir.

Laravel Uygulama Sunucusu

Laravel projelerinde queue worker, scheduler, cache işlemleri ve büyük veri işleme görevleri bellek kullanımını artırabilir. Uzun süre çalışan worker süreçleri düzenli yeniden başlatılmıyorsa bellek tüketimi zamanla yükselebilir. Swap burada yalnızca geçici tampon görevi görmelidir. Kalıcı çözüm için worker limitleri, supervisor yapılandırması ve uygulama kodu gözden geçirilmelidir.

Veritabanı Sunucusu

Veritabanı sunucularında swap kullanımına daha temkinli yaklaşılmalıdır. Çünkü veritabanı motorları performans için RAM önbelleklerinden yoğun şekilde yararlanır. Eğer veritabanı süreçleri swap alanına düşerse sorgu gecikmeleri artabilir. Bu nedenle buffer pool, query cache benzeri ayarlar ve bağlantı limitleri mevcut RAM’e göre düzenlenmelidir. Swap, veritabanı için sürekli kullanılan bir kaynak değil, acil durum tamponu olmalıdır.

Küçük VPS Üzerinde Çoklu Servis

1 GB RAM’e sahip bir VPS üzerinde web sunucusu, veritabanı, mail servisi ve panel çalıştırmak bellek açısından zorlayıcı olabilir. Bu durumda swap alanı kısa vadede kararlılığı artırabilir; fakat uzun vadede kaynak planı yükseltilmelidir. Türkiye lokasyonlu düşük gecikme isteyen projeler için Türkiye VPS Sunucu, daha izole kaynak yapısı isteyen projeler için VDS tercih edilebilir.

Yedekleme ve Sıkıştırma İşlemleri

Büyük dosya arşivleri oluştururken tar, gzip, zstd veya veritabanı dump işlemleri geçici RAM artışı oluşturabilir. Swap, bu işlemlerin yarıda kesilmesini önleyebilir. Ancak yedekleme saatleri yoğun trafik dönemlerine denk getirilmemeli, mümkünse düşük kullanım zamanlarında planlanmalıdır.

Sıkça Sorulan Sorular

Swap alanı sunucuyu hızlandırır mı?

Swap alanı doğrudan sunucuyu hızlandırmaz. Asıl görevi, RAM yetersiz kaldığında sistemin çökmesini önlemektir. Eğer sunucu sürekli swap kullanıyorsa bu genellikle RAM yetersizliği, yanlış yapılandırma veya uygulama kaynaklı bellek sorunu anlamına gelir.

VPS sunucuda swap kullanmak güvenli midir?

Evet, doğru izinler ve dikkatli boyutlandırma ile VPS sunucuda swap kullanmak güvenlidir. Swap dosyası için chmod 600 uygulanmalı, gereksiz büyük swap alanlarından kaçınılmalı ve bellek kullanımı düzenli izlenmelidir.

Swap file mı swap partition mı daha iyidir?

Çoğu modern sunucu ortamında swap file daha pratik ve yönetilebilir bir çözümdür. Swap partition ise geleneksel ve kararlı bir yöntemdir ancak boyut değiştirmek daha zahmetli olabilir. VPS ve bulut sunucu ortamlarında swap file genellikle yeterlidir.

Swappiness değeri kaç olmalıdır?

Tek bir doğru değer yoktur. Web ve veritabanı sunucularında genellikle düşük değerler tercih edilir; ancak en doğru ayar iş yüküne göre test edilmelidir. vm.swappiness=10 sık kullanılan başlangıç değerlerinden biridir.

Swap dolarsa ne olur?

RAM ve swap alanı birlikte yetersiz kalırsa Linux OOM Killer mekanizması devreye girebilir ve bellek tüketimi yüksek süreçleri sonlandırabilir. Bu durum web sitesi kesintisine, veritabanı bağlantı hatalarına veya uygulama servislerinin durmasına neden olabilir.

SSD üzerinde swap kullanmak diske zarar verir mi?

Swap, yoğun yazma işlemi oluşturabileceği için SSD üzerinde teorik olarak ek aşınma yaratabilir. Ancak modern SSD’lerde normal seviyede swap kullanımı genellikle sorun oluşturmaz. Sürekli yüksek swap kullanımı varsa asıl çözüm daha fazla RAM veya uygulama optimizasyonudur.

Swap kullanımı nasıl azaltılır?

Swap kullanımını azaltmak için gereksiz servisler kapatılmalı, uygulama bellek limitleri düzenlenmeli, veritabanı önbellekleri optimize edilmeli ve gerekiyorsa RAM kapasitesi artırılmalıdır. Ayrıca bellek sızıntısı olan süreçler tespit edilip düzeltilmelidir.

Sonuç

Linux sunucularda swap yönetimi, performans optimizasyonu ile sistem kararlılığı arasında hassas bir denge kurmayı gerektirir. Swap, RAM’in alternatifi değil; beklenmeyen bellek artışlarında sunucunun ayakta kalmasına yardımcı olan bir güvenlik tamponudur. Doğru boyutlandırılmış, güvenli izinlerle yapılandırılmış ve düzenli izlenen swap alanı, VPS, VDS, bulut sunucu ve hosting ortamlarında kesinti riskini azaltabilir.

Ancak sürekli yüksek swap kullanımı, kaynak yetersizliğinin veya yazılım yapılandırma sorunlarının belirtisidir. Böyle bir durumda yalnızca swap alanını büyütmek yerine RAM kapasitesi, uygulama mimarisi, veritabanı ayarları ve sunucu planı birlikte değerlendirilmelidir. Corelux üzerinde projenizin ihtiyacına göre Hosting, Sanal Sunucu, Kiralık Sunucu ve Yedekleme Hizmeti seçeneklerini inceleyerek daha kararlı, güvenli ve ölçeklenebilir bir altyapı oluşturabilirsiniz.

Yazar

Boran BAR

Chat on WhatsApp