Små servere løber tør for hukommelse på det værst tænkelige tidspunkt: en apt upgrade, et Docker-build, nattens backup. Uden swap vælger kernens OOM killer en proces og dræber den, ofte din database. En swapfil er en billig sikkerhedssele, der giver de toppe et sted at gå hen. Det tager fem kommandoer.
1. Tjek, hvad du har
swapon --show
free -h
Hvis swapon --show ikke udskriver noget, er der endnu ingen swap.
2. Opret swapfilen
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
chmod 600 er vigtig: swap kan indeholde stumper af alt, hvad der lå i hukommelsen, hemmeligheder inklusive, så kun root må kunne læse den. Fejler fallocate med »operation not supported«, så brug dd i stedet:
dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress
3. Gør den permanent
Uden dette trin forsvinder swap ved genstart:
echo '/swapfile none swap sw 0 0' >> /etc/fstab
4. Justér swappiness
Bed kernen om at foretrække RAM og primært bruge swap under pres:
echo 'vm.swappiness=10' > /etc/sysctl.d/99-swap.conf
sysctl --system
5. Kontrollér
swapon --show
free -h
Du bør se en swapenhed på 2 GB, og cat /proc/sys/vm/swappiness bør udskrive 10.
Hvor stor?
- Server med 1–2 GB RAM: 1–2 GB swap.
- 4 GB eller mere: 1–2 GB er stadig nok som sikkerhedsnet.
Dimensionér ikke swap som »dobbelt så meget som RAM«. På en server er swap til at opfange korte toppe, ikke til at køre opgaver, der ikke kan være i hukommelsen.
Når swap ikke er svaret
Hold øje med den i et par dage:
vmstat 5
Kolonnerne si og so viser sider, der læses ind fra og skrives ud til swap pr. sekund. Lejlighedsvis aktivitet er normalt. Konstant værdier over nul betyder, at serveren mangler hukommelse, og at alt venter på disken. Så er løsningen mere RAM: se hvor meget RAM en VPS kræver. Hos EQVPS kan du gå op til en større plan uden geninstallation; dine data bliver, hvor de er.
Kommentarer
Ingen kommentarer endnu. Vær den første.