−25%

på Windows ved årlig betaling, til 31/10. Se pakkerne

EQVPS

Sådan tilføjer du en swapfil på en Linux-VPS

Opret en swapfil med fem kommandoer, få den til at overleve genstarter og justér swappiness, plus hvor meget swap du skal tilføje, og hvornår løsningen er mere RAM.

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?

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.

Relateret

FAQ

Hvor meget swap skal jeg tilføje?

På servere med 1–2 GB RAM er en swapfil på 1–2 GB en god standard. På større servere er 1–2 GB stadig nok som sikkerhedsnet: reglen om »dobbelt så meget som RAM« stammer fra tiden med maskiner på 256 MB.

Gør swap min server hurtigere?

Nej. Swap forhindrer kun nedbrud, når hukommelsen slipper op et øjeblik: en pakkeopdatering, et Docker-build, en backup. Hukommelsessider på disk er tusindvis af gange langsommere end RAM. Bruger serveren swap hele tiden, har den brug for mere RAM.

Hvad gør swappiness?

Den styrer, hvor gerne kernen flytter ubrugt hukommelse til swap. Standardværdien 60 gør det ret tidligt; 10 beder kernen om at holde tingene i RAM og primært bruge swap under reelt pres, hvilket passer til de fleste servere.

Hvorfor en swapfil og ikke en partition?

En fil opretter, ændrer og sletter du på sekunder på en kørende server, uden at røre partitionstabellen. På moderne filsystemer er ydelsen den samme.

Hvordan fjerner jeg swap senere?

Kør 'swapoff /swapfile', slet linjen for /swapfile i /etc/fstab, og kør derefter 'rm /swapfile'.

Kommentarer

Ingen kommentarer endnu. Vær den første.

Skriv en kommentar

Kommentarer modereres, før de vises.