Swap Alanı Oluşturma ve Ayarlama Rehberi
Linux'ta swap alanı nedir, swap dosyası oluşturma, swappiness ayarı, swap kullanımını izleme ve performans optimizasyonu için kapsamlı rehber.
İçindekiler
Swap Alanı Oluşturma ve Ayarlama Rehberi
Swap alanı, fiziksel RAM dolduğunda işletim sisteminin disk üzerinde kullandığı sanal bellek alanıdır. Bellek baskısı altında sistemin çökmesini önler ve uygulamaların çalışmaya devam etmesini sağlar. Bu rehberde swap dosyası oluşturma, yapılandırma ve izleme konularını ele alacağız.
Swap, RAM'in yerini tutmaz; yalnızca acil durum tamponu olarak işlev görür. Sürekli yüksek swap kullanımı, RAM yetersizliğinin işaretidir.
Swap Nedir ve Ne Zaman Gereklidir?
Swap alanı iki şekilde oluşturulabilir:
| Yöntem | Avantaj | Dezavantaj |
|---|---|---|
| Swap bölümü | Daha hızlı | Boyut değiştirilemez |
| Swap dosyası | Esnek, boyut değiştirilebilir | Biraz daha yavaş |
Modern sistemlerde swap dosyası tercih edilir çünkü boyutu dinamik olarak değiştirilebilir.
Ne zaman swap gereklidir?
- RAM 2 GB veya altındaysa
- Bellek yoğun uygulamalar çalıştırıyorsanız
- Hibernate (uyku modu) kullanmak istiyorsanız
- Beklenmedik bellek artışlarına karşı güvenlik tamponu olarak
Mevcut Swap Durumunu Kontrol Etme
# Swap kullanımını göster
swapon --show
# Bellek ve swap özetini göster
free -h
# Detaylı bellek bilgisi
cat /proc/meminfo | grep -i swap
# Swap alanlarını listele
cat /proc/swaps
Swap Dosyası Oluşturma
Adım 1: Swap Dosyası Oluştur
# 2 GB swap dosyası oluştur (dd yöntemi)
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
# veya fallocate ile (daha hızlı)
sudo fallocate -l 2G /swapfile
# Dosya boyutunu doğrula
ls -lh /swapfile
Adım 2: Güvenlik İzinlerini Ayarla
# Sadece root okuyabilsin
sudo chmod 600 /swapfile
# İzinleri doğrula
ls -la /swapfile
# Çıktı: -rw------- 1 root root 2.0G ...
Adım 3: Swap Olarak Biçimlendir
# Swap alanı olarak işaretle
sudo mkswap /swapfile
Adım 4: Swap'ı Etkinleştir
# Swap'ı aktif et
sudo swapon /swapfile
# Doğrula
swapon --show
free -h
Adım 5: Kalıcı Hale Getir
Sunucu yeniden başlatıldığında swap'ın otomatik aktif olması için /etc/fstab'a ekleyin:
# /etc/fstab'a ekle
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
# Doğrula
cat /etc/fstab | grep swap
Swap Boyutunu Değiştirme
Mevcut swap dosyasını büyütmek için:
# Swap'ı devre dışı bırak
sudo swapoff /swapfile
# Yeni boyutta dosya oluştur (4 GB)
sudo fallocate -l 4G /swapfile
# Yeniden biçimlendir
sudo mkswap /swapfile
# Yeniden etkinleştir
sudo swapon /swapfile
# Doğrula
free -h
Swappiness Ayarı
Swappiness, çekirdeğin swap kullanma eğilimini belirleyen 0-100 arası bir değerdir:
| Değer | Davranış |
|---|---|
| 0 | Swap'ı mümkün olduğunca az kullan |
| 10 | Sunucular için önerilen değer |
| 60 | Linux varsayılanı |
| 100 | Agresif swap kullanımı |
# Mevcut swappiness değerini göster
cat /proc/sys/vm/swappiness
# Geçici olarak değiştir (reboot'ta sıfırlanır)
sudo sysctl vm.swappiness=10
# Kalıcı olarak değiştir
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
# Değişikliği uygula
sudo sysctl -p
Sunucular için swappiness=10 önerilir. Bu değer, RAM dolmadan swap kullanımını minimize eder ve disk I/O'yu azaltır.
Cache Pressure Ayarı
Swappiness ile birlikte vfs_cache_pressure da ayarlanabilir:
# Mevcut değeri göster
cat /proc/sys/vm/vfs_cache_pressure
# Daha az agresif cache temizleme (50 önerilir)
echo 'vm.vfs_cache_pressure=50' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Swap Kullanımını İzleme
# Anlık bellek ve swap durumu
free -h
# Sürekli izleme (2 saniyede bir)
watch -n 2 free -h
# Hangi işlemler swap kullanıyor?
for file in /proc/*/status; do
awk '/VmSwap|Name/{printf $2 " " $3 "\n"}' $file
done | sort -k 2 -n -r | head -10
# vmstat ile izleme
vmstat 2 5
# top ile izleme (VIRT, RES, SHR sütunları)
top
vmstat Çıktısını Anlama
vmstat 1 5
# si: saniyede swap'a okunan blok sayısı
# so: saniyede swap'a yazılan blok sayısı
# si ve so sürekli yüksekse bellek yetersiz demektir
Swap'ı Devre Dışı Bırakma
# Geçici olarak devre dışı bırak
sudo swapoff /swapfile
# Kalıcı olarak kaldır
sudo swapoff /swapfile
sudo rm /swapfile
# /etc/fstab'dan swap satırını da silin
Swap'ı devre dışı bırakmadan önce yeterli boş RAM olduğundan emin olun. Aksi takdirde sistem OOM (Out of Memory) hatasıyla karşılaşabilir.
Sonuç
Swap alanı, özellikle sınırlı RAM'e sahip sunucularda sistem kararlılığı için önemlidir. Swap dosyası oluşturmak, swappiness değerini optimize etmek ve swap kullanımını düzenli izlemek, sunucunuzun bellek yönetimini iyileştirir. Ancak swap, RAM yetersizliğinin kalıcı çözümü değildir; yüksek swap kullanımı görüyorsanız RAM yükseltmeyi değerlendirin.
İlgili Makaleler
VDS Sunucuya SSH ile Bağlanma Rehberi (PuTTY & Terminal)
Linux VDS sunucunuza SSH ile bağlanma adımları: PuTTY, Terminal, anahtar tabanlı kimlik doğrulama, Path Panel firewall kuralı ve güvenlik ipuçları.
Windows VDS'e RDP ile Bağlanma ve Güvenlik Rehberi
Windows Server VDS sunucunuza Uzak Masaüstü (RDP) ile bağlanma adımları, NLA güvenlik ayarları, Path Panel firewall kuralı ve sorun giderme rehberi.
VDS Sunucu İşletim Sistemi Değiştirme Rehberi (Reinstall)
REXE panel üzerinden VDS sunucunuzun işletim sistemini değiştirme adımları, yedekleme önerileri, desteklenen Linux ve Windows Server sürümleri.