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