−25%

yıllık Windows ödemesinde, 31 Ekim'e kadar. Paketlere git

EQVPS

Linux VPS'e swap dosyası nasıl eklenir

Beş komutla bir swap dosyası oluşturun, yeniden başlatmalarda kalıcı hâle getirin ve swappiness ayarını yapın; ne kadar swap eklenmeli ve asıl çözüm ne zaman daha fazla RAM.

Küçük sunucuların belleği en kötü anda biter: bir apt upgrade, bir Docker derlemesi, gece yedeklemesi. Swap olmadan çekirdeğin OOM killer'ı bir süreç seçip sonlandırır; çoğu zaman da veritabanınızı. Swap dosyası, bu ani yükselmelere bir çıkış yolu sunan ucuz bir emniyet kemeridir. Beş komut yeterlidir.

1. Neye sahip olduğunuzu kontrol edin

swapon --show
free -h

swapon --show hiçbir şey yazdırmıyorsa henüz swap yoktur.

2. Swap dosyasını oluşturun

fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

chmod 600 önemlidir: swap, sırlar dahil bellekteki her şeyin parçalarını içerebilir; bu yüzden yalnızca root okuyabilmelidir. fallocate “operation not supported” hatası verirse bunun yerine dd kullanın:

dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress

3. Kalıcı hâle getirin

Bu adım olmadan swap yeniden başlatmada kaybolur:

echo '/swapfile none swap sw 0 0' >> /etc/fstab

4. Swappiness ayarını yapın

Çekirdekten RAM'i tercih etmesini ve swap'ı esas olarak baskı altında kullanmasını isteyin:

echo 'vm.swappiness=10' > /etc/sysctl.d/99-swap.conf
sysctl --system

5. Doğrulayın

swapon --show
free -h

2 GB'lık bir swap aygıtı görmelisiniz ve cat /proc/sys/vm/swappiness 10 yazdırmalıdır.

Ne büyüklükte?

Swap'ı “RAM'in iki katı” olarak boyutlandırmayın. Bir sunucuda swap kısa ani yükselmeleri emmek içindir, belleğe sığmayan iş yüklerini çalıştırmak için değil.

Swap'ın çözüm olmadığı durumlar

Birkaç gün izleyin:

vmstat 5

si ve so sütunları saniyede swap'tan okunan ve swap'a yazılan sayfaları gösterir. Ara sıra etkinlik normaldir. Sürekli sıfırdan büyük değerler, sunucunun belleğinin yetmediği ve her şeyin diski beklediği anlamına gelir. Bu noktada çözüm daha fazla RAM'dir: bkz. bir VPS ne kadar RAM'e ihtiyaç duyar. EQVPS'te yeniden kurulum yapmadan daha büyük bir plana geçebilirsiniz; verileriniz olduğu yerde kalır.

İlgili

SSS

Ne kadar swap eklemeliyim?

1–2 GB RAM'li sunucularda 1–2 GB'lık bir swap dosyası iyi bir varsayılandır. Daha büyük sunucularda da 1–2 GB güvenlik ağı olarak yeterlidir: “RAM'in iki katı” kuralı 256 MB'lık makineler döneminden kalmadır.

Swap sunucumu hızlandırır mı?

Hayır. Swap yalnızca bellek bir anlığına bittiğinde çökmeleri önler: bir paket güncellemesi, bir Docker derlemesi, bir yedekleme. Diskteki bellek sayfaları RAM'den binlerce kat yavaştır. Sunucu sürekli swap kullanıyorsa daha fazla RAM'e ihtiyacı vardır.

Swappiness ne işe yarar?

Çekirdeğin boştaki belleği ne kadar istekle swap'a taşıyacağını belirler. Varsayılan değer olan 60 bunu oldukça erken yapar; 10 ise çekirdeğe verileri RAM'de tutmasını ve swap'ı esas olarak gerçek baskı altında kullanmasını söyler, bu da çoğu sunucuya uygundur.

Neden bölüm değil de swap dosyası?

Bir dosyayı çalışan sunucuda, bölüm tablosuna dokunmadan saniyeler içinde oluşturur, yeniden boyutlandırır ve silersiniz. Modern dosya sistemlerinde performans aynıdır.

Swap'ı daha sonra nasıl kaldırırım?

'swapoff /swapfile' çalıştırın, /etc/fstab içindeki /swapfile satırını silin ve ardından 'rm /swapfile' çalıştırın.

Yorumlar

Henüz yorum yok. İlk olun.

Bir yorum bırakın

Yorumlar görünmeden önce denetlenir.