Skip to content
Back to blog
Rehber Linux Swap Sistem Yönetimi Bellek Yönetimi Performans Optimizasyonu Ubuntu CentOS Debian Mistral

Linux Sistemlerinde Swap Alanı Oluşturma ve Yönetme: Performans Optimizasyonu Rehberi

Linux sunucularınızda swap alanı oluşturmanın ve yönetmenin adım adım yöntemlerini öğrenin. Performans iyileştirmeleri, bellek yönetimi ve sistem stabilitesi için gerekli tüm teknik detaylar.

Caner Serbest

Sistem ve Altyapı

6 min read

Linux Sistemlerinde Swap Alanı Oluşturma ve Yönetme: Performans Optimizasyonu Rehberi

Linux sistemlerinde bellek yönetimi, sistem performansı ve stabilitesi için kritik bir rol oynar. Swap alanı, fiziksel RAM’in yetersiz kaldığı durumlarda disk üzerinde oluşturulan bir bellek uzantısıdır. Bu rehberde, Linux sistemlerinde swap alanı oluşturmanın, yapılandırmanın ve yönetmenin tüm adımlarını detaylı olarak ele alacağız.


📌 Swap Nedir ve Neden Gereklidir?

Swap alanı, Linux çekirdeğinin RAM yetersizliği durumunda kullanılan bir disk belleği türüdür. Temel olarak üç ana amaca hizmet eder:

  1. RAM Yetersizliği Durumunda Destek: Sistem belleği dolduğunda, çekirdek en az kullanılan bellek sayfalarını swap alanına taşır.
  2. Hızlı Bellek Serbest Bırakma: Kritik uygulamaların çalışmasını sağlamak için bellek temizlenir.
  3. Sistem Stabilitesi: Kritik sistem süreçlerinin çökmesini önler.

📊 Swap Kullanımının Avantajları ve Dezavantajları

AvantajlarDezavantajlar
RAM yetersizliğinde sistem stabilitesiDisk I/O performansında düşüş
Kritik uygulamaların çalışmasını sağlarSSD’lerde aşınmaya neden olabilir
Bellek yoğun uygulamalar için esneklikGereksiz swap kullanımı bellek israfıdır

Not: Modern sistemlerde (özellikle 8GB+ RAM’e sahip olanlarda) swap kullanımı genellikle gerekli değildir, ancak uygulama gereksinimlerine ve sistem mimarisine bağlı olarak değişebilir.


🔧 Swap Alanı Türleri ve Seçim Stratejisi

Linux sistemlerinde üç ana swap türü bulunmaktadır:

  1. Swap Bölümü (Swap Partition)

    • En performanslı ve önerilen yöntemdir.
    • Sabit disk üzerinde ayrı bir bölüm olarak oluşturulur.
    • Avantajları: Daha hızlı erişim, daha az fragmentasyon.
    • Dezavantajları: Bölüm boyutunun değiştirilmesi zordur.
  2. Swap Dosyası (Swap File)

    • Modern Linux dağıtımlarında (örn. Ubuntu 20.04+, CentOS 8+) desteklenmektedir.
    • Avantajları: Kolay oluşturma ve yönetme, dinamik boyutlandırma.
    • Dezavantajları: Performans olarak swap bölümüne göre biraz daha yavaştır.
  3. Swap Dosyası ile ZRAM (Sıkıştırılmış RAM)

    • RAM üzerinde sıkıştırılmış bellek kullanır.
    • Avantajları: RAM kullanımını optimize eder.
    • Dezavantajları: Sıkıştırma işlemi CPU kullanımını artırır.

📏 Swap Boyutu Nasıl Belirlenir?

Swap boyutu belirlenirken aşağıdaki kurallar dikkate alınmalıdır:

Sistem RAM’iÖnerilen Swap BoyutuAçıklama
2GB - 8GB2x RAM boyutuEski sistemler için standart
8GB - 64GB1x RAM boyutuModern sistemler için önerilen
64GB+0.5x RAM boyutuYüksek bellekli sistemler için

Örnek: 16GB RAM’e sahip bir sistem için 16GB swap önerilir.


🛠️ Swap Bölümü Oluşturma (Swap Partition)

Bu bölümde, sabit disk üzerinde ayrı bir bölüm oluşturarak swap alanı oluşturacağız.

🔹 Adım 1: Mevcut Diskleri Kontrol Etme

Öncelikle, sistemdeki diskleri ve mevcut bölümleri kontrol edelim:

lsblk

Çıktı örneği:

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0   1.8T  0 disk
├─sda1        8:1    0   512M  0 part /boot/efi
├─sda2        8:2    0     1G  0 part /boot
└─sda3        8:3    0   1.8T  0 part /
sdb           8:16   0 447.1G  0 disk

🔹 Adım 2: Yeni Bir Bölüm Oluşturma

Boş bir disk (örn. /dev/sdb) üzerinde yeni bir bölüm oluşturalım:

sudo fdisk /dev/sdb

Komutlar:

  • n → Yeni bölüm oluştur.
  • p → Birincil bölüm seç.
  • 1 → Bölüm numarası.
  • Enter → Başlangıç bloğunu kabul et.
  • Swap boyutunu girin (örn. +16G).
  • t → Bölüm türünü değiştir.
  • 82 → Linux swap türü.
  • w → Değişiklikleri kaydet.

🔹 Adım 3: Swap Bölümünü Biçimlendirme

Oluşturulan swap bölümünü biçimlendirelim:

sudo mkswap /dev/sdb1

🔹 Adım 4: Swap Bölümünü Etkinleştirme

Swap bölümünü sisteme ekleyelim:

sudo swapon /dev/sdb1

🔹 Adım 5: Swap Bölümünü Kalıcı Hale Getirme

Swap bölümünün her sistem başlangıcında otomatik olarak etkinleşmesi için /etc/fstab dosyasına ekleyelim:

sudo nano /etc/fstab

Aşağıdaki satırı ekleyin:

/dev/sdb1 none swap sw 0 0

🔹 Adım 6: Swap Durumunu Kontrol Etme

Swap alanının etkin olup olmadığını kontrol edelim:

free -h

Çıktı örneği:

              total        used        free      shared  buff/cache   available
Mem:           15Gi       3.2Gi       8.1Gi       200Mi       4.1Gi        11Gi
Swap:          16Gi          0B        16Gi

📁 Swap Dosyası Oluşturma (Swap File)

Modern Linux dağıtımlarında swap dosyası oluşturmak oldukça basittir. Bu yöntem, özellikle bulut tabanlı sistemlerde ve SSD’lerde tercih edilir.

🔹 Adım 1: Swap Dosyası Oluşturma

Öncelikle, swap dosyası oluşturmak için bir dizin seçelim (örn. /swapfile):

sudo fallocate -l 16G /swapfile

Not: fallocate komutu desteklenmiyorsa, dd komutunu kullanabilirsiniz:

sudo dd if=/dev/zero of=/swapfile bs=1G count=16

🔹 Adım 2: Swap Dosyasını Biçimlendirme

Oluşturulan dosyayı swap olarak biçimlendirelim:

sudo chmod 600 /swapfile
sudo mkswap /swapfile

🔹 Adım 3: Swap Dosyasını Etkinleştirme

Swap dosyasını sisteme ekleyelim:

sudo swapon /swapfile

🔹 Adım 4: Swap Dosyasını Kalıcı Hale Getirme

Swap dosyasının her sistem başlangıcında otomatik olarak etkinleşmesi için /etc/fstab dosyasına ekleyelim:

sudo nano /etc/fstab

Aşağıdaki satırı ekleyin:

/swapfile none swap sw 0 0

🔹 Adım 5: Swap Performansını Optimize Etme

Swap dosyasının performansını artırmak için swappiness değerini ayarlayabiliriz. Bu değer, sistemin swap kullanımını ne kadar agresif bir şekilde yapacağını belirler.

Varsayılan değer genellikle 60’tır. Daha düşük bir değer (örn. 10) RAM kullanımını artırırken, daha yüksek bir değer (örn. 80) swap kullanımını artırır.

sudo sysctl vm.swappiness=10

Bu ayarın kalıcı olması için /etc/sysctl.conf dosyasına ekleyin:

sudo nano /etc/sysctl.conf

Aşağıdaki satırı ekleyin:

vm.swappiness=10

Değişiklikleri uygulamak için:

sudo sysctl -p

🔄 Swap Alanını Yönetme ve Optimize Etme

🔹 Swap Alanını Devre Dışı Bırakma

Swap alanını geçici olarak devre dışı bırakmak için:

sudo swapoff /swapfile  # Swap dosyası için
sudo swapoff /dev/sdb1   # Swap bölümü için

🔹 Swap Alanını Yeniden Etkinleştirme

sudo swapon /swapfile  # Swap dosyası için
sudo swapon /dev/sdb1   # Swap bölümü için

🔹 Swap Alanını Silme

Swap dosyasını silmek için:

sudo swapoff /swapfile
sudo rm /swapfile

Swap bölümünü silmek için:

sudo swapoff /dev/sdb1
sudo fdisk /dev/sdb  # Bölümü sil ve diskten çıkar

🔹 Swap Kullanımını İzleme

Swap kullanımını izlemek için aşağıdaki komutları kullanabilirsiniz:

# Swap kullanımını detaylı olarak göster
free -h

# Swap kullanımını sürekli olarak izle
watch -n 1 free -h

# Swap kullanımını gösteren sistem bilgileri
cat /proc/swaps

⚠️ Swap Kullanımında Dikkat Edilmesi Gerekenler

  1. Swap Kullanımını Azaltma: Gereksiz swap kullanımı performansı düşürür. swappiness değerini ayarlayarak bunu kontrol edebilirsiniz.
  2. SSD’lerde Swap Kullanımı: SSD’lerde swap kullanımı, disk ömrünü kısaltabilir. Gereksiz swap kullanımından kaçının.
  3. Bulut Sunucularında Swap: Bulut sunucularında (örn. AWS, Azure) swap kullanımı genellikle önerilmez. Bunun yerine, RAM’i artırmak daha iyi bir çözümdür.
  4. Hata Ayıklama: Swap kullanımında sorun yaşarsanız, aşağıdaki komutlarla sistemi inceleyebilirsiniz:
    dmesg | grep swap
    journalctl -u systemd-swap

📚 Sonuç ve Öneriler

Linux sistemlerinde swap alanı oluşturmak ve yönetmek, sistem performansı ve stabilitesi için kritik bir adımdır. Bu rehberde, swap bölümleri, swap dosyaları ve swap yönetimi konularını detaylı olarak ele aldık.

🔹 Özet Adımlar

YöntemAvantajlarıDezavantajları
Swap BölümüEn yüksek performansBölüm boyutunu değiştirmek zor
Swap DosyasıKolay oluşturma ve yönetmePerformans olarak biraz yavaş
ZRAM (Sıkıştırılmış)RAM kullanımını optimize ederCPU kullanımını artırır

🔹 En İyi Uygulamalar

  1. Modern sistemlerde (8GB+ RAM): Swap dosyası kullanın.
  2. Eski sistemlerde (2GB-8GB RAM): Swap bölümü kullanın.
  3. SSD’lerde: Swap kullanımını minimize edin.
  4. Bulut sunucularında: Swap kullanmaktan kaçının.

📖 Kaynakça ve Faydalı Kaynaklar


Bu rehberde, Linux sistemlerinde swap alanı oluşturmanın ve yönetmenin tüm adımlarını ele aldık. Uygulamalarınızda karşılaşabileceğiniz sorunları çözmek için yukarıdaki adımları takip edebilirsiniz. İyi çalışmalar! 🚀


Bu yazı Mistral ile otomatik oluşturulmuştur.