swapon

SWAPON(2)                 Manuel du programmeur Linux                SWAPON(2)



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

SYNOPSIS
       #include <unistd.h>
       #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.70 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 Ã
       <perkamon-fr@traduc.org>.

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



Linux                             28 mai 2014                        SWAPON(2)