Linux Ubuntu Swap Alanı Ekleme ve Yönetimi

Linux Ubuntu Swap Alanı Ekleme ve Yönetimi

Linux Ubuntu Swap Alanı Ekleme ve Yönetimi

Linux sunucularda performans ve sistem kararlılığı açısından dikkat edilmesi gereken en önemli konulardan biri Swap (Takas) Alanı yönetimidir. Özellikle düşük RAM’e sahip sunucularda Swap alanı, sistemin ani bellek tüketimlerinde çökmesini önleyebilir ve uygulamaların daha stabil çalışmasını sağlayabilir.

Swap alanı özellikle VDS sunucu kullanan kullanıcılar için önemli bir yapılandırmadır. Doğru yapılandırılmış bir Swap alanı, bellek yetersizliği nedeniyle oluşabilecek hizmet kesintilerinin önüne geçebilir.

Swap Alanı Nedir?

Swap, fiziksel RAM belleğin dolması durumunda işletim sisteminin disk üzerinde oluşturduğu sanal bellek alanıdır. Linux çekirdeği, aktif olarak kullanılmayan verileri RAM’den Swap alanına taşıyarak uygulamalar için boş bellek oluşturmaya çalışır.

Her ne kadar Swap, RAM’in yerini tutmasa da ani bellek kullanımında sistemin kapanmasını önleyen önemli bir güvenlik mekanizmasıdır.

Özellikle veritabanı, Docker, Minecraft sunucuları, Node.js uygulamaları veya web sunucuları çalıştıran sistemlerde yeterli Swap alanının bulunması tavsiye edilir.

Mevcut Swap Alanını Kontrol Etme

İlk olarak sisteminizde daha önce oluşturulmuş bir Swap alanı olup olmadığını kontrol edin.

free -h

Komut çıktısında aşağıdaki satırı göreceksiniz.

Swap:

Eğer burada 0B değeri görünüyorsa sisteminizde aktif bir Swap alanı bulunmamaktadır.

2 GB Swap Dosyası Oluşturma

Bu örnekte Ubuntu sunucumuza 2 GB boyutunda yeni bir Swap dosyası oluşturacağız.

1. Swap Dosyasını Oluşturun

Aşağıdaki komut ile disk üzerinde 2 GB büyüklüğünde Swap dosyası oluşturabilirsiniz.

dd if=/dev/zero of=/swapfile bs=1024 count=2097152

İşlem tamamlandıktan sonra sisteminizde /swapfile isimli dosya oluşturulacaktır.

2. Dosya İzinlerini Düzenleyin

Swap dosyasının yalnızca root kullanıcısı tarafından erişilebilir olması güvenlik açısından önemlidir.

chown root:root /swapfile
chmod 600 /swapfile

3. Swap Alanını Oluşturun

Dosyayı Linux’un kullanabileceği Swap formatına dönüştürmek için aşağıdaki komutu çalıştırın.

mkswap /swapfile

Komut tamamlandıktan sonra Swap alanını aktif edin.

swapon /swapfile

Swap Alanını Kontrol Edin

Swap’ın başarıyla aktif olduğunu doğrulamak için aşağıdaki komutu tekrar çalıştırabilirsiniz.

free -h

Artık “Swap” satırında oluşturduğunuz alan görüntülenecektir.

Swap Alanını Kalıcı Hale Getirme

Yukarıdaki işlemler yalnızca sunucu yeniden başlatılıncaya kadar geçerlidir. Sunucu her açıldığında Swap alanının otomatik olarak aktif olması için /etc/fstab dosyasını düzenlemeniz gerekir.

Dosyayı açın.

nano /etc/fstab

Dosyanın en altına aşağıdaki satırı ekleyin.

/swapfile swap swap defaults 0 0

Daha sonra dosyayı kaydedip çıkın.

Swappiness Nedir?

Linux çekirdeğinde bulunan Swappiness değeri, RAM dolmaya başladığında sistemin Swap alanını ne kadar agresif kullanacağını belirler.

  • 0 = Mümkün olduğunca RAM kullanılır.
  • 100 = Swap daha erken kullanılmaya başlanır.

Ubuntu sistemlerinde varsayılan değer çoğunlukla 60‘tır. Sunucu ortamlarında ise genellikle 10 değeri önerilmektedir.

Swappiness Değerini Değiştirme

Öncelikle yapılandırma dosyasını açın.

nano /etc/sysctl.conf

Dosyanın en altına aşağıdaki satırı ekleyin.

vm.swappiness=10

Kaydettikten sonra değişiklikleri uygulayın.

sysctl -p

Bu ayar sayesinde sistem mümkün olduğunca RAM’i kullanacak, yalnızca ihtiyaç duyduğunda Swap alanına başvuracaktır.

Swap Boyutu Ne Kadar Olmalıdır?

Swap boyutu tamamen sunucunun kullanım amacına göre değişmektedir.

RAM Önerilen Swap
1 GB 2 GB
2 GB 2-4 GB
4 GB 2-4 GB
8 GB 2 GB
16 GB ve üzeri 2-4 GB

Çok yüksek Swap alanı oluşturmak performansı artırmaz. Swap yalnızca RAM tamamen dolduğunda kullanılan yardımcı bir bellek alanıdır.

Swap Kullanırken Dikkat Edilmesi Gerekenler

  • Swap, RAM yerine geçmez.
  • SSD veya NVMe disklerde Swap performansı HDD’lere göre daha yüksektir.
  • Sürekli Swap kullanımı RAM yetersiz olduğunun göstergesidir.
  • Swap kullanımını düzenli olarak free -h ve htop komutlarıyla takip edebilirsiniz.

Sonuç

Ubuntu üzerinde Swap alanı oluşturmak, özellikle düşük bellekli sunucularda sistem kararlılığını artıran en önemli optimizasyonlardan biridir. Birkaç komutla oluşturabileceğiniz Swap alanı sayesinde bellek taşmaları sonucu oluşabilecek OOM (Out Of Memory) hatalarının önüne geçebilirsiniz.

Eğer yüksek performans gerektiren projeler çalıştırıyorsanız güçlü işlemci ve hızlı NVMe disk altyapısına sahip Ryzen VDS sunucular bellek yönetimi açısından önemli avantajlar sağlayabilir. Genel amaçlı sanallaştırma projeleri için ise VDS Sunucu çözümleri tercih edilebilir. Daha yüksek işlem gücü ve donanıma tamamen erişim gerektiren kurumsal uygulamalarda ise Fiziksel Sunucu kullanımı daha uygun bir seçenek olacaktır.