Sunucularda bellek yönetimi, performansın temel taşlarından biridir.
Sunucularda bellek yönetimi, performansın temel taşlarından biridir. RAM yetersiz kaldığında devreye giren swap alanı, sistemin kararlılığını sağlar ve beklenmedik çökmeleri önler. Bu makalede, Linux tabanlı sunucularda swap alanı oluşturma sürecini adım adım ele alacağız. Özellikle VPS veya dedicated sunucu kullanıcıları için pratik bir rehber sunarak, kaynakları verimli kullanmanızı sağlayacağız. Swap, fiziksel belleğin uzantısı olarak disk alanını kullanır ve süreçlerin askıya alınmasını engelleyerek hizmet sürekliliğini artırır.
Sunucularda swap alanı, RAM’in dolması durumunda aktif süreçlerin verilerini geçici olarak diske taşır. Bu mekanizma, Out of Memory (OOM) killer’ın devreye girerek kritik uygulamaları sonlandırmasını önler. Yüksek trafikli web sunucuları veya veritabanı sistemlerinde, ani bellek taleplerine karşı tampon görevi görür. Örneğin, bir e-ticaret sitesinde yoğun saatlerde bellek kullanımı zirve yaptığında, swap alanı devreye girerek downtime riskini minimize eder. Kurumsal ortamda, swap kullanımı %10’un altında tutulması önerilir; aksi takdirde disk I/O yükü artar ve performans düşer.
Swap’ın etkin kullanımı, sunucu konfigürasyonuna göre belirlenir. RAM miktarı 4 GB’nin altındaki sistemlerde swap/RAM oranı 1:1 ila 2:1 arasında olmalıdır. Daha büyük RAM’lerde bu oran düşürülerek SSD disklerin ömrü korunur. Swap etkinleştirilmediğinde, sistem loglarında bellek hataları gözlemlenir ve hizmet kesintileri yaşanır. Bu nedenle, yeni sunucu kurulumlarında swap alanı varsayılan olarak yapılandırılmalıdır; mevcut sistemlerde ise mevcut bellek kullanımını analiz ederek eklenir.
Dosya tabanlı swap, partition ayırmadan hızlıca uygulanır ve esnektir. Öncelikle, istenen boyutta bir dosya oluşturun. Örneğin, 2 GB swap için şu komutu kullanın: sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress. Bu işlem, sıfırlarla dolu bir dosya üretir ve ilerleme çubuğu gösterir. Ardından, dosyayı swap formatına getirin: sudo mkswap /swapfile. Son olarak etkinleştirin: sudo swapon /swapfile. Bu adımlar, root yetkisiyle çalıştırılmalıdır ve birkaç dakika sürer. SSD disklerde bu yöntem partition’a göre daha az aşınma yaratır.
Partition tabanlı swap, dedicated disk alanı kullanır ve performanslıdır. fdisk veya parted ile boş bir partition oluşturun, örneğin /dev/sda3’ü swap için ayırın: sudo fdisk /dev/sda, n ile yeni partition, t ile type 82 (Linux swap) ayarlayın. Değişiklikleri kaydedin ve mkswap /dev/sda3 ile formatlayın. Swapon /dev/sda3 ile etkinleştirin. Bu yaklaşım, HDD’lerde daha verimli olsa da, partition yönetimi gerektirir. Kurumsal sunucularda LVM ile dinamik boyutlandırma tercih edilebilir, böylece alan ihtiyaçlara göre genişletilir.
Swap’ın yeniden başlatmada kaybolmaması için /etc/fstab dosyasını düzenleyin: sudo nano /etc/fstab ve satır ekleyin: /swapfile none swap sw 0 0 (dosya için) veya /dev/sda3 none swap sw 0 0 (partition için). Değişiklikleri test edin: sudo mount -a. Güvenlik için dosya izinlerini kısıtlayın: sudo chmod 600 /swapfile. Bu, yetkisiz erişimi engeller. Swappiness değerini /etc/sysctl.conf’a ekleyerek ayarlayın: vm.swappiness=10, ardından sysctl -p ile uygulayın. Düşük swappiness, swap kullanımını RAM’e tercih eder.
Swap durumunu free -h veya swapon –show komutlarıyla kontrol edin. Yüksek kullanımda (%50+), RAM yükseltme veya süreç optimizasyonu düşünün. top veya htop ile bellek tüketen süreçleri belirleyin ve gereksizleri sonlandırın. Swap’ı devre dışı bırakmak için swapoff -a kullanın, ardından fstab’dan kaldırın. Düzenli bakımda, swap dosyasını yeniden boyutlandırın: swapoff /swapfile, rm /swapfile ve yeni dd ile oluşturun. Bu işlemler sırasında sunucu yükünü düşük tutun.
Otomatik izleme için script’ler yazın; örneğin cron job ile günlük log: echo “$(date): Swap usage: $(free -m | awk ‘NR==3{print $3}’)” >> /var/log/swap.log. Performans optimizasyonu için zram gibi bellek içi sıkıştırma modüllerini değerlendirin. Kurumsal ortamlarda, swap yönetimi monitöring araçlarıyla entegre edilerek proaktif müdahale sağlanır.
Swap alanı oluşturma, sunucu istikrarını güçlendiren kritik bir adımdır. Bu rehberdeki talimatları uygulayarak, sisteminizi daha dayanıklı hale getirebilirsiniz. Düzenli izleme ve ayarlamalarla, kaynaklarınızı en verimli şekilde kullanın ve kesintisiz hizmet sunun.