menu search
  • Kaydol
brightness_auto

Hoş geldiniz! TÜRKLER SORUYOR PLATFORMU'na katılmak ister misiniz? Hemen kayıt olun veya giriş yapın.

more_vert
thumb_up_off_alt 0 beğenilme thumb_down_off_alt 0 beğenilmeme

1 cevap

more_vert

Swap, bilgisayar sistemlerindeki buğday tanesi gibi görünmeyen ama kritik bir bileşendir: Sanal Bellek (Virtual Memory) mekanizmasının disk üzerindeki yansımasıdır. Sistem RAM'inin (fiziksel bellek) dolması durumunda, işletim sistemi kullanılmayan veya az kullanılan veri bloklarını sabit diske (SSD/HDD) taşır. Bu taşınan veri alanına "swap alanı" veya "swap dosyası" denir. Yani swap, RAM'in bir uzantısıdır; sistem, sınırlı fiziksel belleği sınırsız sanal bellek gibi kullanmak için disk alanını geçici depolama olarak işler.

Neden Var ve Nasıl Çalışır?

İşletim sistemi (Linux/Unix tabanlı sistemlerde yaygın, Windows'ta "Pagefile" olarak bilinir) her uygulamaya kendi özel bellek alanını (address space) tahsis eder. RAM'in kapasitesi sınırlı olduğunda, çekirdek (kernel) şu stratejiyi izler:

  1. Belirlenme: Uzun süredir erişilmeyen sayfalar (pages) tespit edilir.
  2. Taşınma: Bu sayfalar diske yazılır.
  3. Serbest Bırakma: RAM'deki alan sıfırlanır ve yeni gelen verilere açılır.
  4. Geri Yükleme: Uygulama o veriye tekrar ihtiyaç duyduğunda, veri diskten RAM'e geri okunur. Bu sürece page fault denir ve eğer swap kullanımı çok yüksekse sistem "takılma" (thrashing) yaşar.

Pratikte Dikkat Etmen Gerekenler

Swap'ın varlığı, sisteminin çökmesini engeller; ancak performans için dikkatli olman gerekir:

  • SSD mi HDD mi?: Swap alanını SSD üzerinde tutmak, HDD'ye kıyasla gecikme süresini (latency) dramatik şekilde azaltır. Eski nesil HDD'lerde swap'a sıklıkla düşen sistemler neredeyse kullanılamaz hale gelir.
  • Boyutlandırma: Eski "RAM'in 2 katı olsun" kuralı artık geçerli değil. Modern sistemlerde:
    • 4GB veya daha az RAM: RAM'in 1-2 katı swap önerilir.
    • 8GB ve üzeri RAM: 4-8GB sabit swap genellikle yeterlidir.
    • Çok yüksek RAM (32GB+): Swap sadece hibernate (hibernation) özelliği için veya güvenlik amaçlı küçük tutulabilir.
  • Swap Dosyası vs. Swap Bölgesi: Linux'ta ayrı bir disk bölümü ayırmak yerine swap dosyası (fallocate veya dd ile oluşturulan) kullanmak, gelecekte boyutu değiştirmek veya silmek istediğinde çok daha esneklik sağlar.

Somut Bir Tecrübe ve Çözüm

Bir sunucuda anlık bir bellek sızıntısı (memory leak) yaşadığımda, sistem swap'a hızla yığılmış ve CPU kullanımı %100'e tırmanmıştı. Sorun, uygulamanın hatalı kodu değil, swap alanının yetersiz kalması ve diskin yavaş olmasıydı.

Pratik Çözüm:
1. Anlık olarak swap dosyasını genişlettim:

```bash
sudo fallocate -l +4G /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
```
  1. Daha kalıcı bir çözüm olarak, uygulamayı cgroup ile sınırlayarak RAM tüketimini dengeledim ve swap kullanımı azaldı.

Unutma: Swap bir kurtarıcıdır, bir performans artırıcı değil. Swap'a sürekli yazıp okuyan bir sistem, darboğaz demektir. RAM'i yükseltmeyi veya yazılımı optimize etmeyi her zaman swap boyutunu artırmaktan önce düşün.

thumb_up_off_alt 0 beğenilme thumb_down_off_alt 0 beğenilmeme

İlgili sorular

thumb_up_off_alt 0 beğenilme thumb_down_off_alt 0 beğenilmeme
1 cevap
thumb_up_off_alt 0 beğenilme thumb_down_off_alt 0 beğenilmeme
1 cevap
thumb_up_off_alt 0 beğenilme thumb_down_off_alt 0 beğenilmeme
1 cevap
thumb_up_off_alt 0 beğenilme thumb_down_off_alt 0 beğenilmeme
1 cevap
thumb_up_off_alt 0 beğenilme thumb_down_off_alt 0 beğenilmeme
1 cevap

12,071 soru

14,440 cevap

4 yorum

190 üye

Çevrimiçi Kullanıcı Sayısı: 72
0 Üye 72 Ziyaretçi
Bugünkü Ziyaretler: 18068
Dünkü Ziyaretler: 21974
Toplam Ziyaretler: 6312090

Son Kazanılan Rozetler

cem_Çetin Bir rozet kazandı
zeynep_kurt Bir rozet kazandı
mehmet_kaya Bir rozet kazandı
emre_kara Bir rozet kazandı
fatma_arslan_02 Bir rozet kazandı
...