Uncategorized

Swap Oluşturma ve Etkinleştirme Komutları (Linux)

Sunucular ve masaüstü Linux sistemlerinde bellek yönetimi oldukça kritik bir konudur. Fiziksel RAM yetersiz kaldığında, sistemin kararlılığını koruyarak çalışmayı sürdürebilmesi için devreye swap alanı girer.

Swap Alanı Nedir?

Swap alanı, RAM yetersiz kaldığında sistemin disk üzerinde oluşturduğu geçici bir bellek bölümüdür. Bu alan sayesinde aktif olmayan veriler RAM’den diske taşınarak yer açılır. Swap alanı iki farklı yöntemle oluşturulabilir.

Swap özellikle az bellek kapasitesine sahip sistemlerde büyük önem taşır. Ancak aşırı kullanımı disk performansını olumsuz etkileyebileceği için dikkatli biçimde yapılandırılmalıdır.

Aktif Swap Alanını Kontrol Etme

Sistemde aktif bir swap alanının bulunup bulunmadığını kontrol etmek için aşağıdaki komutlardan birini çalıştırabiliriz. Eğer swapon komutu herhangi bir çıktı döndürmüyorsa, bu sistemde swap alanının etkin olmadığını gösterir.

swapon --show
free -h

Linux’ta 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şturulurken dosya izinleri, sahiplik ve boyut gibi detaylara dikkat edilmesi gerekir. Dosya işlemlerine yeni başlayanlar için, Linux’ta dosya sıkıştırma ve arşivleme işlemlerinde kullanılan tar komutu benzer bir çalışma prensibine sahiptir.

Bu konuda daha fazla bilgi edinmek isterseniz “tar Komutu ile Arşiv Oluşturma ve Çıkarma” rehberini 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

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 Alanını Kalıcı Olarak Etkinleştirme

Linux’ta elle oluşturulan takas dosyası, sistem yeniden başlatıldığında devre dışı kalır.
Bunun nedeni, sistemin bu dosyayı otomatik olarak etkinleştirmeyi bilmemesidir. Bu bölüm, oluşturduğun swap (takas) alanının her açılışta aktif kalmasını sağlar.

Bu yüzden, sen belirtmedikçe her yeniden başlatmadan sonra swapon /swapfile komutunu tekrar girmen gerekir. Swap’ı kalıcı hale getirmek için /etc/fstab dosyasına bir satır eklenmelidir.

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ı Devre Dışı Bırakma ve Kaldırma

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.fsck Komutu Nedir ve Linux’ta Disk Hataları Nasıl Onarı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.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir