VDS sunucunuzda zaman zaman uygulamalarınızın aniden çöktüğünü veya SSH bağlantınızın donduğunu fark ediyor musunuz? Bu sorunların en yaygın nedenlerinden biri, sistemin tüm fiziksel belleğini tüketmesi ve 'Out of Memory' (OOM) hatası almasıdır. Özellikle 1-2 GB RAM gibi düşük bellekli VDS paketlerinde bu durum sıkça yaşanır. Neyse ki, swap (takas alanı) kullanarak bu sorunu büyük ölçüde çözebilirsiniz.
Swap Nedir ve Neden Gereklidir?
Swap, disk üzerinde ayrılmış bir alandır. RAM dolduğunda, işletim sistemi az kullanılan verileri bu alana taşıyarak aktif uygulamalara daha fazla bellek bırakır. Bu sayede sisteminiz, fiziksel bellekten daha fazla işlem yapabiliyormuş gibi çalışır. Swap birincil çözüm değildir – hızlı RAM yerine yavaş diske yazmak performansı düşürür – ancak OOM hatalarını önlemek için kritik bir güvenlik ağıdır.
Özellikle veritabanı sunucuları, Node.js uygulamaları veya ağır CMS’ler (WordPress gibi) beklenmedik bellek sıçramaları yapabilir. Swap olmazsa, bu sıçramalar doğrudan OOM katili tarafından süreçlerin sonlandırılmasına yol açar.
Ne Zaman Swap Oluşturmalısınız?
Eğer VDS sunucunuzda 2 GB veya daha az RAM varsa, mutlaka swap ekleyin. 4 GB RAM’e kadar da swap önerilir. Yüksek RAM’li (8 GB+) sunucularda swap ihtiyacı azalır, ancak yine de 2-4 GB’lık bir swap alanı acil durumlar için faydalı olabilir.
VDS Sunucuda Swap Nasıl Oluşturulur? (Linux)
1. Swap Dosyası Oluşturma
En kolay yöntem, bir dosyayı swap olarak kullanmaktır. Aşağıdaki komutla 2 GB’lık bir swap dosyası oluşturabilirsiniz:
sudo fallocate -l 2G /swapfileEğer fallocate desteklenmiyorsa, dd komutunu kullanabilirsiniz:
sudo dd if=/dev/zero of=/swapfile bs=1M count=20482. İzinleri Ayarlama ve Swap Olarak Biçimlendirme
Dosyayı yalnızca root’un okuyup yazabilmesi için izinleri değiştirin:
sudo chmod 600 /swapfileArdından dosyayı swap alanına dönüştürün:
sudo mkswap /swapfile3. Swap’ı Etkinleştirme
Swap dosyasını hemen kullanıma açmak için:
sudo swapon /swapfileGeçici olarak değil, her yeniden başlatmada kalıcı olmasını istiyorsanız /etc/fstab dosyasına ekleyin:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstabSwap Kullanımını İzleme
Swap’ın etkin olduğunu doğrulamak için sudo swapon --show komutunu kullanabilirsiniz. Ayrıca free -h ile hem RAM hem de swap kullanımını görebilirsiniz. Sürekli yüksek swap kullanımı, fiziksel belleğinizin yetersiz olduğu anlamına gelir; bu durumda RAM yükseltmeyi düşünmelisiniz.
Dikkat Edilmesi Gerekenler
- Swap boyutu: Genel kural, RAM boyutunun 1-2 katı kadar swap ayırmaktır. Ancak SSD’lerde aşırı swap yazma ömrü kısaltabilir; bu yüzden 4 GB’ı geçmemek iyi bir pratiktir.
- Swap’ı SSD’de kullanmak: SSD’ler sınırlı yazma dayanıklılığına sahiptir. Swap yoğun kullanılıyorsa, bir süre sonra disk sağlığı düşebilir. Bu durumda swap’ı küçük tutun veya daha fazla RAM satın alın.
- Swappiness değeri: Linux’un ne kadar agresif swap kullanacağını belirleyen bir parametredir. Varsayılan 60’tır. Bunu 10-20 gibi düşük bir değere ayarlayarak swap’ın yalnızca acil durumlarda kullanılmasını sağlayabilirsiniz:
Kalıcı yapmak için /etc/sysctl.conf dosyasına vm.swappiness=10 ekleyin.
Sonuç
Swap alanı oluşturmak, VDS sunucunuzu OOM hatalarına karşı korumanın en basit ve etkili yoludur. Birkaç komutla sunucunuzun dayanıklılığını artırabilir, beklenmedik çökmelerin önüne geçebilirsiniz. Unutmayın, swap geçici bir çözümdür; eğer uygulamalarınız sürekli swap kullanıyorsa, daha fazla RAM’e yatırım yapmanın zamanı gelmiş demektir. Hemen şimdi swap’ınızı oluşturun ve sunucunuzun rahat nefes almasını sağlayın.