Narhost

Swap Alanı Ne Kadar Olmalı, VPS Sunucuda Gerekli mi

Swap Alanı Ne Kadar Olmalı, VPS Sunucuda Gerekli mi — Narhost Sunucu rehberi kapak görseli

İçindekiler

Kısaca özet

  • Swap alanı, fiziksel bellek (RAM) dolduğunda çekirdeğin az kullanılan bellek sayfalarını diske taşıdığı yedek bellek bölgesidir; RAM’in yerine geçmez, yalnız taşma anında sunucuya zaman kazandırır.
  • Ubuntu’nun resmî SwapFaq tablosu, hazırda bekletme kullanılmayan sistemde en az RAM’in karekökü kadar, en fazla RAM’in iki katı swap öneriyor: 2 GB RAM için 1 GB, 8 GB için 3 GB, 16 GB için 4 GB.
  • Küçük bir VPS’te (1–4 GB RAM) 1–2 GB swap, bellek taşması anında veritabanının OOM killer tarafından kapatılmasını önleyen ucuz bir sigortadır.
  • NVMe disk swap’ı eski disklere göre çok daha hızlı yapar, ama yine de RAM’den yavaştır; sürekli swap kullanan sunucu yavaş çalışır.
  • Linux çekirdeğinde swappiness varsayılan olarak 60’tır; değer düştükçe çekirdek swap’a daha geç başvurur, sunucuda genelde 10–30 arası bir değer tercih edilir.
  • Swap kullanımı gün boyu artıyor ve düşmüyorsa çözüm daha büyük swap değil, daha fazla RAM ya da bellek tüketen uygulamanın ayarıdır.

Yeni bir VPS’e bağlanıp belleğe baktığınızda swap satırında sıfır görüyorsanız, ilk soru bunun sorun olup olmadığıdır. İkinci soru hemen arkasından gelir: swap alanı ne kadar olmalı, RAM kadar mı, iki katı mı, yoksa hiç gerekmez mi. Eski kurallar fiziksel sunucular ve yavaş diskler için yazılmıştı; bugün NVMe diskli küçük bir sanal sunucuda doğru cevap farklı. Karar, sunucunun ne kadar belleğe sahip olduğuna ve bellek taşarsa neyin kaybedileceğine bağlıdır.

Swap Alanı Nedir, Ne İşe Yarar

Linux’ta sanal bellek, fiziksel RAM ile swap alanının toplamıdır. Çalışan programlar RAM’e yerleşir; bellek dolmaya başladığında çekirdek bir süredir dokunulmamış sayfaları diske, yani swap alanına taşır ve RAM’de yer açar. O sayfalara yeniden ihtiyaç duyulduğunda diskten geri okunur. Swap bir disk bölümü (partition) ya da sıradan bir dosya (swap dosyası) olabilir; sanal sunucularda genelde dosya kullanılır çünkü boyutu sonradan kolayca değiştirilir.

Ubuntu’nun SwapFaq sayfası swap’ın üç işini sayar: açılışta bir kez kullanılıp bir daha dokunulmayan bellek sayfalarını kenara koyup RAM’i dosya önbelleğine bırakmak, beklenmedik bellek taşmalarında sisteme nefes aldırmak ve masaüstünde hazırda bekletme (hibernation). Sunucuda üçüncüsünün karşılığı yoktur; ilk ikisi ise her sunucu için geçerlidir.

Bilgi

Swap alanı RAM’in yerine geçmez. Disk, en hızlı NVMe olsa bile, bellekten kat kat yavaştır. Swap’ın değeri, bellek taştığında sunucunun çökmesi yerine yavaşlamasını sağlamasıdır; bu size sorunu fark edip müdahale edecek zamanı verir.

Swap Yoksa Bellek Taşınca Ne Olur

RAM ve swap birlikte tükendiğinde Linux çekirdeği OOM killer (out of memory) adlı mekanizmayı çalıştırır ve en çok bellek kullanan işlemlerden birini zorla sonlandırır. Web sunucularında bu işlem çoğu zaman veritabanıdır, çünkü en fazla belleği o tutar. Sonuç, sitenin “veritabanı bağlantı hatası” vermesi ve biri fark edip servisi yeniden başlatana kadar kapalı kalmasıdır.

Küçük bir swap alanı bu senaryoyu değiştirir. Ani bir trafik artışında, gece çalışan bir yedekleme işinde ya da bir güncelleme sırasında bellek kısa süreliğine taşarsa, az kullanılan sayfalar diske gider ve servisler çalışmaya devam eder. Sunucu birkaç dakika yavaşlar ama kapanmaz. Bu yüzden 1–4 GB RAM’li sanal sunucularda swap’ı tamamen kapatmak nadiren doğru bir tercihtir.

Swap Alanı Ne Kadar Olmalı, Boyut Tablosu

Eski “RAM’in iki katı” kuralı, belleğin çok küçük ve pahalı olduğu dönemden kalmadır. Ubuntu SwapFaq bugün daha esnek bir aralık veriyor: hazırda bekletme kullanılmayan sistemde en az RAM’in karekökünün yuvarlanmış değeri, en fazla RAM’in iki katı. Sunucular hazırda bekletme kullanmadığı için tablodaki “hazırda bekletme yok” sütunu esas alınır.

RAM Önerilen en az swap (SwapFaq) Üst sınır (SwapFaq) VPS için pratik yorum
1 GB 1 GB 2 GB 1–2 GB swap şart sayılır, bellek çok sıkışıktır
2 GB 1 GB 4 GB 1–2 GB, küçük WordPress ve veritabanı için yeterli sigorta
4 GB 2 GB 8 GB 2 GB, taşma anı için yeterli
8 GB 3 GB 16 GB 2–3 GB, daha fazlası nadiren kullanılır
16 GB 4 GB 32 GB 4 GB, büyük swap yerine bellek izleme önemlidir

Üst sınırın ötesine gitmek fayda getirmez. SwapFaq’ın ifadesiyle RAM’in iki katından fazla swap’a ihtiyaç duyuyorsanız, daha fazla RAM eklemeniz gerekir. Swap’ın tek maliyeti ayırdığınız disk alanıdır; bu yüzden tablodaki en az değerin biraz üstünde kalmak güvenli bir seçimdir.

Örnek senaryo

2 GB RAM’li bir VPS’te WordPress, veritabanı ve e-posta birlikte çalışıyordu ve swap yoktu. Haftada bir, gece yarısı çalışan yedekleme işi sırasında veritabanı kapanıyor, sabah site hata veriyordu. Sunucuya 2 GB swap dosyası eklendi ve swappiness 20’ye çekildi. Yedekleme sırasında birkaç yüz megabayt swap kullanılıyor, gün içinde swap boşalıyor ve veritabanı artık kapanmıyor.

swap alanı ne kadar olmalı sorusunu RAM dolması, sayfaların diske taşınması, swappiness ve RAM yükseltme kararıyla gösteren şema
RAM dolunca az kullanılan sayfalar swap'a gider; swap sürekli kullanılıyorsa çözüm daha fazla RAM'dir.

Swappiness Değeri Ne Olmalı

Swappiness, çekirdeğin belleği boşaltırken swap’a ne kadar istekli davranacağını belirleyen ayardır. Linux çekirdeği dokümantasyonuna göre değer 0 ile 200 arasında olabilir ve varsayılanı 60’tır. Düşük değer swap giriş-çıkışını pahalı sayar ve çekirdeğin önce dosya önbelleğini boşaltmasını sağlar; 0’da çekirdek, boş bellek kritik eşiğin altına inene kadar swap’a başvurmaz.

Web ve veritabanı sunucularında sık kullanılan yaklaşım değeri 10 ile 30 arasına çekmektir; böylece aktif uygulama belleği RAM’de kalır, swap yalnız gerçek taşmada devreye girer. Bu bir kural değil, başlangıç noktasıdır. Çekirdek dokümanının da vurguladığı gibi en uygun değer iş yüküne göre değişir ve denemeyle bulunur.

NVMe Diskte Swap Kullanmak

Mekanik disklerde swap’a düşmek sunucuyu neredeyse durma noktasına getirirdi. NVMe diskler bu farkı ciddi biçimde kapatır: rastgele okuma ve yazma gecikmesi çok daha düşüktür, bu yüzden taşma anında sunucu kullanılabilir kalır. SwapFaq da SSD’nin mekanik diskten hızlı olduğunu, ama RAM’e göre hâlâ yavaş kaldığını belirtir.

NVMe’nin getirdiği rahatlık tuzağa dönüşmemelidir. Sunucu sürekli swap kullanıyorsa her istek diskle bellek arasında sayfa taşımayı bekler ve yanıt süreleri uzar. Swap’ın nasıl oluşturulacağı, kalıcı hâle getirileceği ve swappiness ayarının nasıl yapılacağı komutlarıyla birlikte swap alanı nasıl oluşturulur kartında anlatılıyor.

Dikkat

Swap, bellek sızıntısı olan bir uygulamanın sorununu gizleyebilir. Swap kullanımı gün boyunca düzenli olarak artıyor ve yeniden başlatmadan düşmüyorsa, bir işlem belleği bırakmıyor demektir. Bu durumda swap’ı büyütmek sorunu yalnızca erteler.

Ne Zaman Swap Değil RAM Gerekir

Swap alanı ara sıra ve kısa süreli kullanılıyorsa görevini yapıyordur. Sorun, kullanımın kalıcı hâle gelmesidir. Bellek izleme araçlarında swap giriş-çıkışının sürekli olduğunu, kullanılabilir belleğin gün içinde sıfıra yaklaştığını ve yanıt sürelerinin buna paralel uzadığını görüyorsanız, sunucu belleği yetersizdir. Bellek kullanımını izlemenin yolları Linux RAM kullanımı nasıl izlenir kartında.

Bu noktada iki yol vardır: bellek tüketen uygulamayı ayarlamak (veritabanı tampon boyutu, PHP işçi sayısı, önbellek sınırları) ya da daha fazla RAM’e geçmek. Hangi iş yükünün ne kadar bellek istediğini hesaplamak için VPS için ne kadar RAM ve CPU gerekir yazısına bakın. Sanal sunucu türleri arasında karar veriyorsanız VPS mi VDS mi bulut sunucu mu karşılaştırması başlangıç noktasıdır.

Sonuç

Küçük bir VPS’te 1–2 GB, orta boyda 2–4 GB swap alanı çoğu senaryo için yeterlidir. Swap’ı sigorta olarak görün: taşma anında sunucuyu ayakta tutar, ama sürekli kullanılıyorsa asıl mesaj daha fazla RAM ya da daha iyi ayarlanmış bir uygulama ihtiyacıdır.

Kontrol Listesi

  • Sunucuda swap olup olmadığını ve boyutunu bellek komutlarıyla kontrol edin.
  • RAM miktarına göre tablodaki aralıktan bir swap boyutu seçin.
  • Sanal sunucuda disk bölümü yerine swap dosyası tercih edin.
  • Swap’ın yeniden başlatmadan sonra da etkin kalacağı şekilde kalıcı tanımlandığını doğrulayın.
  • Swappiness değerini iş yüküne göre 10–30 aralığında deneyin.
  • Swap kullanımını birkaç gün izleyin, sürekli artış varsa bellek tüketen işlemi bulun.
  • Kalıcı swap kullanımında RAM yükseltmesini ya da uygulama ayarını planlayın.

Sıkça sorulan sorular

VPS’te swap alanı olmadan çalışmak sorun olur mu?

Belleği bol ve iş yükü öngörülebilir bir sunucuda sorun çıkmayabilir. Küçük bellekli bir VPS’te ise ani bir taşma, çekirdeğin veritabanı gibi bir servisi zorla kapatmasına yol açar. 1–2 GB swap bu riski düşük maliyetle azaltır, bu yüzden küçük sunucularda eklenmesi önerilir.

Swap dosyası mı, swap bölümü mü kullanmalıyım?

Sanal sunucularda swap dosyası daha pratiktir; disk bölümlerini değiştirmeden oluşturulur, boyutu sonradan büyütülüp küçültülebilir. Güncel çekirdeklerde performans farkı pratikte önemsizdir. Swap bölümü, kurulum sırasında planlanan fiziksel sunucularda ve hazırda bekletme kullanan sistemlerde daha anlamlıdır.

Swap kullanımı yüksek görünüyor, bu kötü mü?

Tek başına değil. Çekirdek, uzun süredir kullanılmayan sayfaları swap’a taşıyıp RAM’i önbelleğe ayırabilir; bu sağlıklı bir davranıştır. Asıl bakılacak şey swap’a sürekli okuma ve yazma yapılıp yapılmadığıdır. Kullanım sabit ve giriş-çıkış düşükse sorun yoktur.

Swappiness değerini 0 yapmak doğru mu?

Swap’ı neredeyse devre dışı bırakır ve taşma anında sunucuyu korumasız bırakabilir. 0 değerinde çekirdek, boş bellek kritik eşiğe inene kadar swap’a başvurmaz. Çoğu sunucu için 10–30 arası bir değer daha dengeli sonuç verir.

Swap diskin ömrünü kısaltır mı?

Sürekli ve yoğun swap kullanımı diske ek yazma yükü getirir. Ara sıra taşma anında kullanılan swap ise pratikte fark yaratmaz. Swap’a sürekli yazılıyorsa bu zaten bellek yetersizliğinin işaretidir ve çözüm RAM tarafındadır.

Narhost’ta

VPS paketlerimiz NVMe disk ve root erişimiyle gelir; swap boyutunu ve swappiness ayarını iş yükünüze göre siz belirlersiniz, bellek yetmediğinde üst pakete geçebilirsiniz.

VPS paketlerini incele

Bu konuyla ilgili Narhost hizmetleri

Yazıda anlatılan ihtiyaca doğrudan karşılık gelen paketler.

Alışveriş deneyiminizi iyileştirmek için yasal düzenlemelere uygun çerezler (cookies) kullanıyoruz. Detaylı bilgiye Gizlilik ve Çerez Politikası sayfamızdan erişebilirsiniz.