Provided by: manpages-fr-dev_4.19.0-7_all bug

NOM

       swapon, swapoff - Activer/désactiver un fichier ou un périphérique de swap

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <sys/swap.h>

       int swapon(const char *path, int swapflags);
       int swapoff(const char *path);

DESCRIPTION

       swapon()  active  le  swap  sur  le  fichier  ou  le  périphérique bloc indiqué dans path.
       swapoff() arrête le swap sur le fichier ou le périphérique bloc indiqué dans path.

       Si l'attribut SWAP_FLAG_PREFER est indiqué dans le paramètre  swapflags  de  swapon(),  la
       nouvelle zone de swap disposera d'une priorité plus élevée que la zone de swap par défaut.
       La priorité est codée ainsi :

           (prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK

       Si l'attribut SWAP_FLAG_DISCARD est indiqué dans le paramètre swapflags de  swapon(),  les
       pages  d'échange  libérées  seront supprimées avant d'être réutilisées, si le périphérique
       d'échange prend en  charge  l'opération  de  mise  au  rebut  (« discard »)  ou  d'élagage
       (« trim »).  Ceci  peut améliorer les performances sur certains périphériques SSD (« Solid
       State Devices »), mais souvent cela n'a  pas  d'influcence.  Consultez  aussi  la  section
       NOTES.

       Cette  fonction  ne  peut  être appelée que par un processus privilégié (qui a la capacité
       CAP_SYS_ADMIN.

   Priorité
       Chaque zone de swap a une priorité, haute ou basse. La  priorité  par  défaut  est  basse.
       Parmi  les  zones  de  basses priorités, les nouvelles zones sont toujours affectées d'une
       priorité inférieure à celle des zones précédentes.

       Toutes les priorités définies avec l'argument swapflags sont plus élevées que la  priorité
       par  défaut.  Elles  peuvent prendre n'importe quelle valeur positive ou nulle choisie par
       l'appelant. Plus la valeur est haute, plus la priorité est élevée.

       Les pages de swap sont allouées dans les zones par ordre décroissant de priorité. Pour des
       zones  de  priorité  différentes,  la  plus  haute sera toujours remplie entièrement avant
       d'utiliser la zone de priorité plus faible. Si deux ou plus de zones ont la même priorité,
       et qu'il s'agit de la plus haute priorité disponible, les pages sont allouées en utilisant
       un algorithme Round-Robin entre elles.

       Sur Linux 1.3.6, le  noyau  suit  généralement  ces  règles,  mais  il  y  a  parfois  des
       exceptions.

VALEUR RENVOYÉE

       En  cas  de succès, zéro est renvoyé. En cas d'erreur, -1 est renvoyé et errno est définie
       pour préciser l'erreur.

ERREURS

       EBUSY  (pour swapon()) Le chemin path est déjà utilisé comme espace d'échange.

       EINVAL Le fichier  path  existe,  mais  ne  référence  ni  un  fichier  ordinaire,  ni  un
              périphérique bloc.

       EINVAL (swapon())  Le  fichier  indiqué  ne  contient pas de signature de swap correcte ou
              réside sur un système de fichiers en mémoire comme tmpfs(5).

       EINVAL (depuis Linux 3.4)
              (swapon()) swapflags contient un drapeau invalide.

       EINVAL (swapoff()) Le chemin path n'est pas actuellement un espace d'échange.

       ENFILE La limite du nombre total  de  fichiers  ouverts  pour  le  système  entier  a  été
              atteinte.

       ENOENT path n'existe pas.

       ENOMEM Pas assez de mémoire pour démarrer le swapping.

       EPERM  L'appelant  n'a  pas  la  capacité  CAP_SYS_ADMIN, ou le nombre maximal de fichiers
              d'échange est atteint ; voir la section NOTES.

STANDARDS

       Ces fonctions sont spécifiques  à  Linux  et  ne  doivent  pas  être  employées  dans  des
       programmes  destinés à être portables. Le deuxième argument swapflags a été introduit dans
       Linux 1.3.2.

NOTES

       La partition ou le fichier doivent être préparés par mkswap(8).

       Le nombre de fichiers d'échange qui peuvent être utilisés  est  limité  par  la  constante
       MAX_SWAPFILES  du noyau. Avant Linux 2.4.10, MAX_SWAPFILES valait 8 ; depuis Linux 2.4.10,
       il vaut 32. Depuis Linux 2.6.18, cette limite est décrémentée de 2 (et vaut donc 30) si le
       noyau  est  compilé  avec CONFIG_MIGRATION (qui réserve deux entrées de table de swap pour
       les l'option possibilités de migration offertes par mbind(2) et migrate_pages(2)).  Depuis
       Linux  2.6.32, la limite est encore décrémentée de 1 si le noyau est compilé avec l'option
       CONFIG_MEMORY_FAILURE. Depuis Linux 5.14, la limite encore décrémentée de 4  si  le  noyau
       est compilé avec l'option CONFIG_DEVICE_PRIVATE.

       La   suppression  de  pages  d'échange  a  été  introduite  dans  Linux 2.6.29,  puis  fut
       conditionnée à l'attribut SWAP_FLAG_DISCARD dans Linux 2.6.36, qui  supprime  toujours  la
       zone  d'échange  entière  quand  swapon() est appelée, même si ce bit d'attribut n'est pas
       mis.

VOIR AUSSI

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

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier  <barbier@debian.org>,  David  Prévot  <david@tilapin.org>  et  Jean-Pierre Giraud
       <jean-pierregiraud@neuf.fr>

       Cette traduction est une documentation libre ; veuillez vous reporter  à  la  GNU  General
       Public   License   version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.