Linux Üzerinde Swap Alanı Oluşturma

Hem masaüstü hem de sunucu tabanlı Linux sistemlerinde bellek kullanımı dikkatle yönetilmelidir. Fiziksel RAM yetersiz kaldığında sistemin kesintiye uğramadan çalışmaya devam etmesi için swap alanı devreye alınır.

Swap Alanı Nedir?

Swap alanı, fiziksel belleğin dolması durumunda diskte ayrılan geçici bir depolama alanıdır. Bu sayede kullanılmayan veriler RAM’den diske aktarılır ve sistemin çalışması devam eder. Swap iki farklı yöntemle yapılandırılabilir.

Özellikle sınırlı RAM kapasitesine sahip sistemlerde swap büyük fayda sağlar. Fakat aşırı kullanımı disk performansını olumsuz etkileyebileceği için dengeli bir yapılandırma tercih edilmelidir.

Swap Kullanımının Aktifliğini Kontrol Etme

Sistemde hali hazırda etkin bir swap alanı bulunup bulunmadığını görmek için aşağıdaki komutlardan birini çalıştırabiliriz. swapon komutu herhangi bir çıktı üretmiyorsa, bu durumda sistemde swap aktif değildir.

swapon --show
free -h

Swap Dosyası Oluşturma

Swap dosyası, fiziksel diskiniz üzerinde oluşturabileceğiniz en pratik yöntemdir.

Dosya Oluşturma

2 GB’lık bir swap alanı oluşturmak için.

sudo fallocate -l 2G /swapfile

Eğer fallocate desteklenmiyorsa alternatif olarak.

sudo dd if=/dev/zero of=/swapfile bs=1M count=1024

İzinleri Düzenleme

Swap dosyasına yalnızca root erişebilmelidir.

sudo chmod 600 /swapfile

Eğe komut hata veriyorsa ve veri göstermiyorsa aşağıdaki komutu deneyelim.

ls / | grep swapfile

Swap dosyası oluşturma sürecinde izinlerin doğru verilmesi, sahiplik haklarının belirlenmesi ve dosya boyutunun dikkatli seçilmesi önem taşır. Eğer dosya yönetimi konusunda deneyiminiz azsa, Linux sistemlerinde kullanılan tar komutu benzer mantıkta çalıştığından fikir verebilir.

Bu konuda rehber niteliğinde olan “tar Komutu ile gzip Sıkıştırma Yöntemleri” yazısını inceleyebilirsiniz.

Dosyayı Swap’a Dönüştürme

Bu aşamada oluşturduğun takas dosyasını, sistemin swap alanı olarak tanıyabilmesi için biçimlendirmen gerekir.

sudo mkswap /swapfile

Swap’ı Etkinleştirme

Bu komut, biraz önce oluşturduğun /swapfile dosyasını aktif hale getirir.
Yani sistem artık bu dosyayı RAM yetersiz kaldığında ek bellek alanı olarak kullanabilir.

———–> sudo swapon /swapfile

Bu komut aktif olan tüm takas alanlarını listeler.
Yani sistem şu anda hangi swap dosyalarını veya disk bölümlerini kullanıyor, bunu gösterir.

————>swapon --show

Swap Dosyasını Otomatik Başlatmaya Ekleme

Linux sistemlerinde elle tanımlanan takas dosyaları, yeniden başlatma sonrasında otomatik olarak aktif olmaz.
Çünkü sistem, bu dosyanın açılışta etkinleştirilmesi gerektiğini kendiliğinden bilmez. Bu kısım, oluşturduğun swap alanını kalıcı hale getirmeye yöneliktir.

Her sistem açılışından sonra manuel komut girmemek için swapon /swapfile işlemini /etc/fstab dosyasına eklemelisin.

sudo nano /etc/fstab

Ayrıca dosyanın sonuna aşağıdaki kodu yazdığımızda /swapfile otomatik olarak swap alanı olur.

/swapfile swap swap defaults 0 0

Swap Alanını Kapatma

Aşağıdaki komut, swap dosyasını anında devre dışı bırakır, ama dosyayı silmez.
Sistemi yeniden başlattığında veya tekrar swapon komutunu çalıştırdığında swap yeniden aktif olabilir.

sudo swapoff /swapfile

Swap alanını kaldırdıktan sonra diskin bütünlüğünü kontrol etmek iyi bir pratiktir. Özellikle dosya sisteminde hatalar oluştuysa, fsck komutu ile disk denetimi yapmak sistemin kararlılığını korur.

Bu konuda daha fazla bilgi için ilgili yazımızı inceleyin.Linux Hata Onarımı İçin fsck Komutu Nasıl Kullanılır?

Kalıcı olarak kaldırma

/etc/fstab dosyasını açıp şu satırı silelim ya da # ile kapatalım.

/swapfile swap swap defaults 0 0
rm /swapfile

Sık Sorulan Sorular

Swap kullanımı neden artar ve nasıl analiz edilir?

Swap kullanımının artması genellikle RAM yetersizliği, yüksek I/O bekleme süresi veya bellek sızıntısından kaynaklanır.
vmstat, htop veya smem araçlarıyla hangi süreçlerin swap kullandığı analiz edilebilir. Özellikle smem -rs swap çıktısı, en çok swap tüketen işlemleri sıralar.

Swap alanı dolduğunda sistem neden donabilir?

Swap tamamen dolduğunda ve RAM de tükenmişse, sistem OOM (Out of Memory) durumuna girer. Bu durumda kernel, bellek boşaltmak için süreçleri sonlandırabilir. Bu sorunu önlemek için yeterli swap alanı tanımlanmalı ve vm.swappiness değeri optimize edilmelidir.

Swap’ı RAM gibi kullanmak için zram kurulumu nasıl yapılır?

ZRAM, RAM içinde sıkıştırılmış bir swap alanı oluşturur.

sudo apt install zram-tools
sudo systemctl enable --now zramswap.service

Bu yöntem SSD ömrünü korurken swap performansını ciddi ölçüde artırır.

Swap performansını artırmak için hangi dosya sistemi daha uygundur?

Ext4 dosya sistemi swap için daha kararlı ve güvenilirdir. Btrfs üzerinde swap dosyası kullanılması önerilmez çünkü Btrfs, swap dosyalarını deliklendirerek performans sorunlarına yol açabilir.

Yorum yapın