Rain WikiWindows · Linux · Android

Linux üzerinde takas alanı (swap)

KavramTüm Linux dağıtımlarıSilinmesi güvenli: Hayır

Takas (swap), Linux çekirdeğinin bellek için bir taşma alanı olarak kullandığı disk alanıdır: nadiren kullanılan bellek sayfaları oraya taşınır, böylece RAM aktif çalışma için boş kalır. Özel bir bölüm veya takas dosyası olabilir ve free -h ile swapon --show komutlarıyla görüntülenir.

1Takas alanı neden hâlâ yararlıdır

Bol miktarda RAM olsa bile takas alanı, çekirdeğin boşta kalan sayfaları bellekten taşımasına olanak tanır ve bellek yetersizliği sonlandırıcısı (OOM killer) süreçleri durdurmadan önce bir arabellek sağlar. Ancak yoğun ve sürekli takas kullanımı, makinenin daha fazla RAM'e veya daha az iş yüküne ihtiyaç duyduğu anlamına gelir.

2Swappiness

Çekirdek ayarı olan vm.swappiness (0-200, varsayılan 60), dosya önbelleğini silmeye kıyasla çekirdeğin ne kadar kolaylıkla takas yapacağını etkiler. Düşük değerler uygulama belleğini daha uzun süre RAM'de tutar. sysctl vm.swappiness ile okunur ve /etc/sysctl.d/ altındaki bir dosyada kalıcı olarak ayarlanır.

3Takas dosyaları

Bir takas dosyası oluşturulur, mkswap ile biçimlendirilir, swapon ile etkinleştirilir ve yeniden başlatmalardan sonra geçerli olması için /etc/fstab dosyasına eklenir. İzinleri 600 olmalıdır.

2 GB'lık bir takas dosyası nasıl eklenir

  1. Dosyayı oluşturun: sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
  2. Erişimi kısıtlayın: sudo chmod 600 /swapfile
  3. Biçimlendirin: sudo mkswap /swapfile
  4. Etkinleştirin: sudo swapon /swapfile
  5. Kalıcı hale getirin: '/swapfile none swap sw 0 0' satırını /etc/fstab dosyasına ekleyin
  6. Kontrol edin: swapon --show ve free -h

Dikkat

  • Btrfs üzerinde bir takas dosyası özel hazırlık gerektirir (copy-on-write özelliği kapalı olmalıdır); dağıtımınızın kılavuzunu takip edin.
  • /etc/fstab dosyasındaki bir hata, sistemin açılmasını engelleyebilir: yeniden başlatmadan önce satırı kontrol edin.

Kaynaklar

  1. swapon(8) man7.org
  2. mkswap(8) man7.org
  3. free(1) man7.org
  4. /proc/sys/vm belgeleri (kernel.org) kernel.org

Son gözden geçirme: