Små servrar får slut på minne i sämsta tänkbara ögonblick: en apt upgrade, ett Docker-bygge, nattens backup. Utan swap väljer kärnans OOM killer en process och dödar den, ofta din databas. En swapfil är ett billigt säkerhetsbälte som ger topparna någonstans att ta vägen. Det tar fem kommandon.
1. Kolla vad du har
swapon --show
free -h
Om swapon --show inte skriver ut något finns det ingen swap ännu.
2. Skapa swapfilen
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
chmod 600 spelar roll: swap kan innehålla bitar av allt som fanns i minnet, hemligheter inräknade, så bara root ska kunna läsa den. Om fallocate misslyckas med ”operation not supported”, använd dd i stället:
dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress
3. Gör den permanent
Utan det här steget försvinner swap vid omstart:
echo '/swapfile none swap sw 0 0' >> /etc/fstab
4. Justera swappiness
Be kärnan föredra RAM och använda swap främst under tryck:
echo 'vm.swappiness=10' > /etc/sysctl.d/99-swap.conf
sysctl --system
5. Kontrollera
swapon --show
free -h
Du bör se en swapenhet på 2 GB, och cat /proc/sys/vm/swappiness bör skriva ut 10.
Hur stor?
- Server med 1–2 GB RAM: 1–2 GB swap.
- 4 GB eller mer: 1–2 GB räcker fortfarande som skyddsnät.
Dimensionera inte swap som ”dubbla RAM-mängden”. På en server är swap till för att fånga upp korta toppar, inte för att köra uppgifter som inte får plats i minnet.
När swap inte är svaret
Håll koll på den i några dagar:
vmstat 5
Kolumnerna si och so visar sidor som läses in från och skrivs ut till swap per sekund. Enstaka aktivitet är normalt. Ständigt värden över noll betyder att servern har för lite minne och att allt väntar på disken. Då är lösningen mer RAM: se hur mycket RAM en VPS behöver. Hos EQVPS kan du gå upp till en större plan utan ominstallation; dina data ligger kvar där de är.
Kommentarer
Inga kommentarer än. Bli först.