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).

There is an upper limit on the number of swap files that may be used, defined by the kernel constant MAX_SWAPFILES. Before Linux 2.4.10, MAX_SWAPFILES has the value 8; since Linux 2.4.10, it has the value 32. Since Linux 2.6.18, the limit is decreased by 2 (thus 30), since Linux 5.19, the limit is decreased by 3 (thus: 29) if the kernel is built with the CONFIG_MIGRATION option (which reserves two swap table entries for the page migration features of mbind(2) and migrate_pages(2)). Since Linux 2.6.32, the limit is further decreased by 1 if the kernel is built with the CONFIG_MEMORY_FAILURE option. Since Linux 5.14, the limit is further decreased by 4 if the kernel is built with the CONFIG_DEVICE_PRIVATE option. Since Linux 5.19, the limit is further decreased by 1 if the kernel is built with the CONFIG_PTE_MARKER option.

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.

22 december 2023 Linux man-pages 6.06