Linux sunucularında bellek yönetimi, sistem performansını doğrudan etkileyen kritik bir unsurdur.
Linux sunucularında bellek yönetimi, sistem performansını doğrudan etkileyen kritik bir unsurdur. Swap alanı, fiziksel RAM’in yetersiz kaldığı durumlarda devreye giren sanal bellek mekanizmasıdır. Bu alan, disk üzerinde ayrılan bir bölgedir ve aktif olmayan süreçlerin verilerini geçici olarak buraya taşır. Özellikle yüksek trafikli web sunucuları, veritabanı uygulamaları veya bellek yoğun iş yüklerinde swap artırma, sistem çökmelerini önler ve stabilite sağlar. Bu makalede, Linux sunucunuzda swap alanını güvenli ve etkili bir şekilde nasıl artıracağınızı adım adım ele alacağız. Mevcut durumu analiz etmekten başlayarak pratik yöntemleri inceleyecek, en iyi uygulamaları paylaşacağız.
Sunucunuzun swap kullanımını doğru değerlendirmeden artırma işlemine başlamak, gereksiz riskler doğurabilir. Öncelikle, sistem kaynaklarını inceleyerek mevcut swap miktarını ve kullanım oranını belirleyin. Bu analiz, ne kadar ek alana ihtiyaç duyulduğunu netleştirir ve optimizasyon kararlarını destekler.
En temel komut free -h ile başlar; bu, RAM ve swap kullanımını insan okunur formatta gösterir. Örneğin, çıktı şu şekilde olabilir: Swap: 0B/2GiB, yani 2 GB toplam swap alanı mevcut ve hiç kullanılmıyor. Daha detaylı inceleme için swapon --show komutunu kullanın; bu, aktif swap dosyalarını veya partitionlarını listeler. cat /proc/swaps ise benzer bilgileri sağlar. Bu komutları root yetkisiyle çalıştırın ve çıktıları düzenli olarak loglayın ki trendleri takip edebilesiniz. Analiz sırasında, swap kullanımının %80’i aşması acil müdahale gerektirir.
Swap kullanımını izlemek için vmstat 1 5 gibi araçlar faydalıdır; si ve so sütunları swap in/out trafiğini gösterir. Yüksek değerler, bellek baskısını işaret eder. Toplam fiziksel RAM’in en az %50’si kadar swap önerilir; örneğin 8 GB RAM için minimum 4 GB swap hedefleyin. Bu değerlendirme, sunucunuzun iş yüküne göre swap artırma stratejisini şekillendirir ve aşırı disk I/O’sunu önler.
Swap dosyası oluşturmak, partition ayarlama gerektirmeyen en pratik yaklaşımdır. Bu yöntem, mevcut dosya sisteminde hızlıca uygulanabilir ve gerektiğinde boyutlandırılabilir. Özellikle VPS veya bulut sunucularda tercih edilir, çünkü disk partitionlarını değiştirmeden işlem yapmanızı sağlar.
Adımları sırasıyla uygulayın: Önce istenen boyutta dosya oluşturun, örneğin 4 GB için fallocate -l 4G /swapfile komutunu kullanın. Bu, önceden ayrılmış alan sağlar ve dd komutundan daha hızlıdır. Ardından izinleri kısıtlayın: chmod 600 /swapfile. Swap formatı için mkswap /swapfile çalıştırın. Aktifleştirmek üzere swapon /swapfile emrini verin. Kalıcı hale getirmek için /etc/fstab dosyasını düzenleyin: /swapfile none swap sw 0 0 satırını ekleyin ve mount -a ile test edin. Bu işlem sonrası free -h ile doğrulayın.
Swap dosyasını SSD diskte konumlandırın ki I/O gecikmeleri azalsın. Swappiness parametresini /etc/sysctl.conf’ta ayarlayın; varsayılan 60 yerine 10-20 arası değerler, swap kullanımını RAM’e tercih ettirir. sysctl vm.swappiness=10 ile anında uygulayın. Bu ayarlar, sunucunuzun yanıt süresini iyileştirir ve kaynak israfını önler. Düzenli bakım için cron job ile swapoff/swapon döngüsü ekleyin.
Swap dosyasına alternatif olarak partition kullanmak, daha performanslıdır çünkü doğrudan disk bloğuna erişir. Bu yöntem, yeni disk alanı ayrıldığında veya mevcut partition küçültüldüğünde idealdir. Ancak dikkatli olun; yanlış işlem veri kaybına yol açabilir.
İşleme fdisk /dev/sda ile başlayın (sda yerine disk adınızı yazın). Yeni partition oluşturun (n), tipi 82 (Linux swap) yapın (t) ve yazın (w). Yeniden başlatmadan önce mkswap /dev/sdaX ve swapon /dev/sdaX ile aktive edin. /etc/fstab’a /dev/sdaX none swap sw 0 0 ekleyin. LVM kullanıyorsanız, lvcreate ile mantıksal volume oluşturup swap yapın. Bu yaklaşım, büyük sunucularda ölçeklenebilirlik sağlar.
Swap partitionını etkinleştirdikten sonra, swapon -p 10 /dev/sdaX ile öncelik verin. İzleme için sar veya glances gibi araçlar entegre edin. Performansı artırmak adına, noatime mount seçeneğini fstab’a ekleyin. Düzenli olarak swap kullanımını raporlayın ve gerektiğinde boyut artırın; örneğin büyüyen veritabanı için 8 GB’a çıkarın. Bu adımlar, sisteminizin uzun vadeli stabiliteye kavuşmasını sağlar.
Swap artırma işlemi tamamlandıktan sonra, sunucunuzun bellek yönetimini proaktif izleyin ve düzenli yedeklemeler alın. Uyguladığınız değişiklikleri test ortamında doğrulayın ki üretimde sorun yaşamayın. Bu rehberle, Linux sunucunuzu daha verimli hale getirebilir, kesinti risklerini minimize edebilirsiniz. Unutmayın, doğru yapılandırma ile swap, sisteminizin güvenilir kalkanı olur.