Swap, bilgisayar sistemlerindeki buğday tanesi gibi görünmeyen ama kritik bir bileşendir: Sanal Bellek (Virtual Memory) mekanizmasının disk üzerindeki yansımasıdır. Sistem RAM'inin (fiziksel bellek) dolması durumunda, işletim sistemi kullanılmayan veya az kullanılan veri bloklarını sabit diske (SSD/HDD) taşır. Bu taşınan veri alanına "swap alanı" veya "swap dosyası" denir. Yani swap, RAM'in bir uzantısıdır; sistem, sınırlı fiziksel belleği sınırsız sanal bellek gibi kullanmak için disk alanını geçici depolama olarak işler.
İşletim sistemi (Linux/Unix tabanlı sistemlerde yaygın, Windows'ta "Pagefile" olarak bilinir) her uygulamaya kendi özel bellek alanını (address space) tahsis eder. RAM'in kapasitesi sınırlı olduğunda, çekirdek (kernel) şu stratejiyi izler:
Swap'ın varlığı, sisteminin çökmesini engeller; ancak performans için dikkatli olman gerekir:
fallocate veya dd ile oluşturulan) kullanmak, gelecekte boyutu değiştirmek veya silmek istediğinde çok daha esneklik sağlar.Bir sunucuda anlık bir bellek sızıntısı (memory leak) yaşadığımda, sistem swap'a hızla yığılmış ve CPU kullanımı %100'e tırmanmıştı. Sorun, uygulamanın hatalı kodu değil, swap alanının yetersiz kalması ve diskin yavaş olmasıydı.
Pratik Çözüm:
1. Anlık olarak swap dosyasını genişlettim:
```bash
sudo fallocate -l +4G /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
```
Unutma: Swap bir kurtarıcıdır, bir performans artırıcı değil. Swap'a sürekli yazıp okuyan bir sistem, darboğaz demektir. RAM'i yükseltmeyi veya yazılımı optimize etmeyi her zaman swap boyutunu artırmaktan önce düşün.