Linux Sistemlerde Swap Alanı Eklemek
Linux sistemlerinde ya da masaüstü bilgisayarlarda bellek yönetimi sistemin performansı açısından büyük önem taşır. RAM kapasitesi dolduğunda sistemin durmadan çalışmasını sağlayan swap alanı, geçici bir sanal bellek görevi görür.
Swap Belleği Nedir?
Swap, sistem belleği dolduğunda diskte ayrılan geçici bir alan olarak görev yapar. Bu mekanizma, aktif olarak kullanılmayan verilerin RAM’den diske taşınmasına olanak tanır. Swap alanı iki farklı biçimde tanımlanabilir.
Düşük RAM’e sahip sistemlerde swap kullanımı oldukça kritik öneme sahiptir. Ancak yoğun kullanımı disk erişim hızını azaltabileceği için dikkatli ayarlanmalıdır.
Sistemde Swap Durumunu Doğrulama
Aktif bir swap alanı olup olmadığını doğrulamak için aşağıdaki komutlardan birini kullanabiliriz. Eğer swapon komutu herhangi bir sonuç vermezse, sistemde swap özelliği devre dışıdır.
swapon --show
free -h

Yeni Bir Swap Alanı Nasıl Tanımlanır?
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ı hazırlarken izinlerin, sahiplik yapılandırmasının ve dosya boyutunun doğru ayarlanması oldukça önemlidir. Dosyalar üzerinde işlem yapmaya henüz alışkın değilseniz, Linux ortamında sıkıştırma ve arşivleme için kullanılan tar komutu aynı mantıkla çalışır.
Ayrıntılı açıklamalar için “Linux’ta tar ile dosya sıkıştırma nasıl yapılır?” rehberine göz atabilirsiniz.
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

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

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

Sistemde Swap Alanını Kalıcı Yapma
Manuel olarak oluşturduğun swap dosyası, Linux yeniden başlatıldığında otomatik olarak etkinleşmez.
Sistem, takas alanını kendiliğinden tanımadığı için bu işlemi senin belirtmen gerekir. Bu adım, oluşturduğun swap alanının her açılışta aktif hale gelmesini sağlar.
Aksi halde her reboot işleminden sonra swapon /swapfile komutunu yeniden çalıştırmalısın. Bunu önlemek için /etc/fstab dosyasına ilgili satırı 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

Mevcut Swap Dosyasını Silme
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 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.