Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
swapon, swapoff - Activer/desactiver un fichier ou un peripherique 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 peripherique bloc indique
dans path. swapoff() arrete le swap sur le fichier ou le peripherique
bloc indique dans path.
swapon() utilise un argument swapflags. Si cet argument a son bit
SWAP_FLAG_PREFER a 1, la nouvelle zone de swap disposera d'une priorite
plus elevee que la zone de swap par defaut. La priorite est codee
ainsi :
(prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK
Cette fonction ne peut etre appelee que par un processus privilegie
(qui a la capacite CAP_SYS_ADMIN.
Priorit'e
Chaque zone de swap a une priorite, haute ou basse. La priorite par
defaut est basse. Parmi les zones de basses priorites, les nouvelles
zones sont toujours affectees d'une priorite inferieure a celle des
zones precedentes.
Toutes les priorites fixees avec l'argument swapflags sont plus elevees
que la priorite par defaut. Elles peuvent prendre n'importe quelle
valeur positive ou nulle choisie par l'appelant. Plus la valeur est
haute, plus la priorite est elevee.
Les pages de swap sont allouees dans les zones par ordre decroissant de
priorite. Pour des zones de priorite differentes, la plus haute sera
toujours remplie entierement avant d'utiliser la zone de priorite plus
faible. Si deux ou plus de zones ont la meme priorite, et qu'il s'agit
de la plus haute priorite disponible, les pages sont allouees en
utilisant un algorithme Round-Robin entre elles.
Sur Linux 1.3.6, le noyau suit generalement ces regles, mais il y a
parfois des exceptions.
VALEUR RENVOY'EE
S'il reussit, cet appel systeme renvoie 0. S'il echoue, il renvoie -1
et remplit errno en consequence.
ERREURS
EBUSY (pour swapon()) Le chemin path est deja utilise comme espace
d'echange.
EINVAL Le fichier path existe, mais ne reference ni un fichier
ordinaire, ni un peripherique bloc. Ou bien, pour swapon(), le
fichier indique ne contient pas de signature de swap correcte ou
reside sur un systeme de fichiers en memoire comme tmpfs. Ou
bien, pour swapoff(), path n'est pas actuellement un espace
d'echange.
ENFILE La limite du nombre total de fichiers ouverts sur le systeme a
ete atteinte.
ENOENT path n'existe pas.
ENOMEM Pas assez de memoire pour demarrer le swapping.
EPERM L'appelant n'a pas la capacite CAP_SYS_ADMIN, ou le nombre
maximal de fichiers d'echange est atteint ; voir la section
NOTES.
CONFORMIT'E
Ces fonctions sont specifiques a Linux et ne doivent pas etre employees
dans des programmes destines a etre portables. Le deuxieme argument
swapflags a ete introduit dans Linux 1.3.2.
NOTES
La partition ou le fichier doivent etre prepares par mkswap(8).
Le nombre de fichiers d'echange qui peuvent etre utilises est limite
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 decrementee de 2 (et vaut donc 30) si le noyau
est compile avec l'option CONFIG_MIGRATION (qui reserve deux entrees de
table de swap pour les possibilites de migration offertes par mbind(2)
et migrate_pages(2)). Depuis Linux 2.6.32, la limite est encore
decrementee de 1 si le noyau est compile avec l'option
CONFIG_MEMORY_FAILURE.
VOIR AUSSI
mkswap(8), swapoff(8), swapon(8)
COLOPHON
Cette page fait partie de la publication 3.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003),
Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Julien
Cristau et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.