Provided by: manpages-fr-dev_3.65d1p1-1_all bug

NOM

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

SYNOPSIS

       #include <unistd.h>
       #include <asm/page.h> /* pour avoir PAGE_SIZE */
       #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

       S'il  réussit, cet appel système renvoie 0. S'il échoue, il renvoie -1 et remplit errno en
       conséquence.

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.

       EINVAL (depuis Linux 3.4)
              (swapon()) flags 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 sur le système 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.

CONFORMITÉ

       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 le noyau  2.4.10,  MAX_SWAPFILES  valait  8 ;  depuis  Linux
       2.4.10,  il vaut 32. Depuis 2.6.18, cette limite est décrémentée de 2 (et vaut donc 30) si
       le noyau est compilé avec l'option CONFIG_MIGRATION (qui réserve deux entrées de table  de
       swap pour les 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.

       La  suppression  de  pages  d'échange  a  été  introduite  dans  le noyau 2.6.29, puis fut
       conditionnée à l'attribut SWAP_FLAG_DISCARD dans le noyau 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)

COLOPHON

       Cette page fait partie de la publication 3.65 du projet man-pages Linux.  Une  description
       du  projet  et  des  instructions  pour  signaler  des  anomalies  peuvent être trouvées à
       l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Depuis   2010,   cette   traduction   est   maintenue   à   l'aide   de    l'outil    po4a
       <http://po4a.alioth.debian.org/>  par l'équipe de traduction francophone au sein du projet
       perkamon <http://perkamon.alioth.debian.org/>.

       Christophe   Blaess   <http://www.blaess.fr/christophe/>   (1996-2003),    Alain    Portal
       <http://manpagesfr.free.fr/>  (2003-2006).  Julien  Cristau  et  l'équipe  francophone  de
       traduction de Debian (2006-2009).

       Veuillez     signaler     toute     erreur     de     traduction     en     écrivant     à
       <debian-l10n-french@lists.debian.org>   ou   par   un  rapport  de  bogue  sur  le  paquet
       manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document  en  utilisant  la
       commande « man -L C <section> <page_de_man> ».