swapon(2) System Calls Manual swapon(2)

swapon, swapoff - start/stop swappen naar bestand/apparaat

Standard C bibliotheek (libc, -lc)

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

swapon() zet het swap gebied naar het bestand of blok apparaat opgegeven met pad. swapoff() stopt swappen naar het bestand of blok apparaat opgegeven met pad.

Als de SWAP_FLAG_PREFER vlag werd opgegeven in het swapon() swapvlaggen argument dan heeft het nieuwe swap gebied een hogere prioriteit dan standaard. De prioriteit is gecodeerd in swapvlaggen als:


(prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK

Als de SWAP_FLAG_DISCARD vlag werd opgegeven in het swapon() swapvlaggen argument, dan zullen vrijgemaakte swap pagina´s worden weggegooid voordat ze hergebruikt worden, mits het swap apparaat weggooien en bijsnijden ondersteund. (Dit kan prestaties verbeteren on sommige Solid State Devices, maar meestal niet). Zie ook NOTITIES.

Deze functies mogen alleen door een geprivilegieerd process (een dat de CAPS_SYS_ADMIN capaciteit heeft).

Elk swap gebied heeft een prioriteit, of hoog of laag. De standaard prioriteit is laag. Binnen de lage prioriteit gebieden hebben nieuwere gebieden nog lagere prioriteit dan oudere.

Alle prioriteiten gezet met swapvlaggen zijn hoge-prioriteit, hoger dan standaard. Ze mogen elke niet-negatieve waarde gekozen door de aanroeper. Hogere nummers betekenen hogere prioriteit.

Swap pagina's worden toegewezen van gebieden in prioriteit volgorde, hoge prioriteit eerst voor gebieden met verschillende prioriteiten: een hoger-prioriteit gebied wordt verbruikt voordat een lager-prioriteit gebied wordt gebruikt. Als twee of meer gebieden dezelfde prioriteit hebben, en als het de hoogste beschikbare prioriteit is, dan worden pagina's toegewezen op een rondedans basis tussen hen.

Vanaf Linux 1.3.6, volgt de kernel gewoonlijk deze regels, maar er zijn uitzonderingen.

Bij succes wordt nul teruggegeven. Bij falen wordt -1 teruggegeven en wordt errno overeenkomstig gezet.

(voor swapon()) Het opgegeven pad werd al gebruikt als swap gebied.
Wordt teruggegeven als pad bestaat, maar nóg een normale pad is, nóg een blok apparaat.
(swapon()) Het aangegeven pad bevat geen geldige swap signature of bevindt zich op een in-geheugen bestandssysteem zoals tmpfs(5).
(swapon()) Een ongeldige vlag werd in vlaggen opgegeven.
(swapoff()) pad is momenteel geen swap gebied.
De grens aan het aantal open bestanden van het systeem is bereikt.
Wordt teruggegeven als pad niet bestaat.
Wordt teruggegeven als er onvoldoende geheugen is om swap te starten.
De aanroeper heeft niet de CAP_SYS_ADMIN capaciteit. Mogelijk is ook het maximum aantal swap bestanden in gebruik; zie NOTITIES hieronder.

Linux.

Het swapvlaggen argument werd geïntroduceerd in Linux 1.3.2.

Het schijf-gedeelte (partitie) moet voorbereid worden met mkswap(8).

Er is een bovengrens aan het aantal swap bestanden dat gebruikt kan worden, gedefinieerd door de kernel constante MAX_SWAPFILES. Vóór kernel 2.4.10, had MAX_SWAPFILES de waarde 8, vanaf kernel 2.4.10 heeft die de waarde 32. Vanaf Linux 2.6.18 is de limiet verlaagd met 2 (dus: 30) mits de kernel werd gebouwd met de CONFIG_MIGRATION optie (die reserveert twee swap tabel ingangen voor de pagina migratie eigenschappen van mbind(2) en migrate_pages(2)). Vanaf Linux 2.6.32, werd de limiet verder verlaagd met 1 als de kernel gebouwd werd met de CONFIG_MEMORY_FAILURE optie. Vanaf Linux 5.14 werd de limiet verder vermindert met 4 indien de kernel werd gebouwd met de CONFIG_DEVICE_PRIVATE optie.

Weggooien van swap pagina´s werd geïntroduceerd in Linux 2.6.29, vervolgens werd het conditioneel gemaakt afhankelijk van de SWAP_FLAG_DISCARD vlag in Linux 2.6.36, die nog steeds het gehele swap gebied weggegooid wanneer swapon() wordt aangeroepen, zelfs als dat bit in de vlag niet werd gezet.

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

De Nederlandse vertaling van deze handleiding is geschreven door Jos Boersema <joshb@xs4all.nl>, Mario Blättermann <mario.blaettermann@gmail.com> en Luc Castermans <luc.castermans@gmail.com>

Deze vertaling is vrije documentatie; lees de GNU General Public License Version 3 of later over de Copyright-voorwaarden. Er is geen AANSPRAKELIJKHEID.

Indien U fouten in de vertaling van deze handleiding zou vinden, stuur een e-mail naar debian-l10n-dutch@lists.debian.org.

30 maart 2023 Linux man-pagina's 6.05.01