Scroll to navigation

swapon(2) System Calls Manual swapon(2)

NAVN

swapon, swapoff - start/stop swapping til fil/enhed

BIBLIOTEK

Standard C library (libc-lc)

SYNOPSIS

#include <sys/swap.h>
int swapon(const char *sti, int swapflag);
int swapoff(const char *sti);

BESKRIVELSE

swapon() angiver swap-området for filen eller blokenheden angivet af sti. swapoff() stopper swapping til filene eller blokenhenden angivet af sti.

Hvis flaget SWAP_FLAG_PREFER er angivet i swapon() swapflags-argumentet, så vil det nye swap-område have en højere prioritet end standarden. Prioriteten er kodet i swapflag som:


(prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK

Hvis flaget SWAP_FLAG_DISCARD er angivet i swapon() swapflag-argumentet, vil frigivede swap-sider blive fjernet før de genbruges, hvis swap-enheden understøtter discard- eller trim-operationen. (Dette kan forbedre ydelsen på nogle Solid State Devices (SD-enheder), men ofte sker det ikke). Se også NOTER.

Disse funktioner må kun bruges af en privilegeret proces (en der har funktionaliteten CAP_SYS_ADMIN).

Prioritet

Hvert swap-område har en prioritet, enten høj eller lav. Standardprioriteten er lav. I områderne med lav prioritet har nyere områder endnu lavere prioritet end ældre områder.

Alle prioritetet angivet med swapflag har høj prioritet, højere end standard. De kan have en ikkenegativ værdi valgt af kalderen. Jo højere tal jo højere prioritet.

Swap-sider allokeres fra områder i prioritetsrækkefølge, højeste prioritet først. For områder med forskellige prioriteter bruges et højere prioriteret område før der bruges et område med lavere prioritet. Hvis to eller flere områder har den samme prioritet og det er de højeste prioritet tilgængelig, så allokeres sider på et round robin-grundlag mellem dem.

Fra Linux 1.3.6 følger kernen normalt disse regler, men der er undtagelser.

RETURVÆRDI

Ved succes returneres nul. Ved fejl returneres -1 og errno angives for at indikere fejlen.

FEJL

(for swapon()) Den angivne sti er allerede i brug som et swap-område.
Hvis filen sti findes, men refererer hverken til en normal fil eller til en blokenhed;
(swapon()) Den indikerede sti indeholder ikke en gyldig swap-signatur eller befinder sig på et filsystem i hukommelsen såsom tmpfs(5).
(swapon()) En ugyldig flagværdi var angivet i swapflags.
(swapoff()) sti er i øjeblikket ikke et swap-område.
Systemets begrænsning på det samlede antal åbne filer er nået.
Filen sti findes ikke.
Systemet har utilstrækkelig hukommelse til at starte swapping.
Kalderen har ikke funktionaliteten CAP_SYS_ADMIN. Alternativt er det maksimale antal swap-filer allerede i brug; Se NOTER nedenfor.

STANDARDER

Linux.

HISTORIK

Argumentet swapflags blev introduceret i Linux 1.3.2.

NOTER

Partitionen eller stien skal være forberedt med mkswap(8).

Der er en øvre grænse for antallet af swap-filer, der må bruges, defineret af kernekonstanten MAX_SWAPFILES. Før Linux 2.4.10 havde MAX_SWAPFILES værdien 8; siden Linux 2.4.10 har den værdien 32. Siden Linux 2.6.18 er begrænsningen mindsket med 2 (dermed 30), siden Linux 5.19 er begrænsningen mindsket med 3 (dermed 29) hvis kernen er bygget med tilvalget CONFIG_MIGRATION (der reserverer to swap-tabelposter for sidemigreringsfunktionerne for mbind(2) og migrate_pages(2)). Siden Linux 2.6.32 er begrænsningen mindsket yderligere med 1 hvis kernen er bygget med tilvalget CONFIG_MEMORY_FAILURE. Siden Linux 5.14 er begrænsningen yderligere mindsket med 4 hvis kernen er bygget med tilvalget CONFIG_DEVICE_PRIVATE. Siden Linux 5.19 er begrænsningen yderligere mindsket med 1 hvis kernen er bygget med tilvalget CONFIG_PTE_MARKER.

Fjernelse af swap-sider blev introduceret i Linux 2.6.29, så gjort betinget af flaget SWAP_FLAG_DISCARD i Linux 2.6.36, der stadig fjerner hele swap-området når swapon() kaldes, også selvom den flag-bit ikke er angivet.

SE OGSÅ

mkswap(8), swapoff(8), swapon(8)

OVERSÆTTELSE

Oversættere af denne manual til dansk Joe Dalton <joedalton2@yahoo.dk>

Denne oversættelse er gratis dokumentation; læs GNU General Public License version 3 eller nyere for ophavsretbetingelser. Der er INGEN ANSVAR.

Hvis du støder på fejl i oversættelsen af ​​denne vejledning, skal du sende en besked til debian-l10n-danish@lists.debian.org.

8. februar 2026 Linux man-pages 6.17