swapon(2) System Calls Manual swapon(2) NOM swapon, swapoff - Activer/desactiver un fichier ou un peripherique de swap BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include 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. Si l'attribut SWAP_FLAG_PREFER est indique dans le parametre swapflags de swapon(), 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 Si l'attribut SWAP_FLAG_DISCARD est indique dans le parametre swapflags de swapon(), les pages d'echange liberees seront supprimees avant d'etre reutilisees, si le peripherique d'echange prend en charge l'operation de mise au rebut (<< discard >>) ou d'elagage (<< trim >>). Ceci peut ameliorer les performances sur certains peripheriques SSD (<< Solid State Devices >>), mais souvent cela n'a pas d'influcence. Consultez aussi la section NOTES. Cette fonction ne peut etre appelee que par un processus privilegie (qui a la capacite CAP_SYS_ADMIN. Priorite 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 definies 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 RENVOYEE En cas de succes, zero est renvoye. En cas d'erreur, -1 est renvoye et errno est definie pour preciser l'erreur. 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. EINVAL (swapon()) Le fichier indique ne contient pas de signature de swap correcte ou reside sur un systeme de fichiers en memoire 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'echange. ENFILE La limite du nombre total de fichiers ouverts pour le systeme entier 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. STANDARDS Linux. HISTORIQUE L'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 Linux 2.4.10, MAX_SWAPFILES valait 8 ; depuis Linux 2.4.10, il vaut 32. Depuis Linux 2.6.18, cette limite est decrementee de 2 (et vaut donc 30), depuis Linux 5.19, la limite est decrementee de 3 (et vaut donc 29) si le noyau est compile avec CONFIG_MIGRATION (qui reserve deux entrees de table de swap pour les l'option 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. Depuis Linux 5.14, la limite encore decrementee de 4 si le noyau est compile avec l'option CONFIG_DEVICE_PRIVATE. Depuis Linux 5.19, la limite est encore decrementee de 1 si le noyau est compile avec l'option CONFIG_PTE_MARKER. La suppression de pages d'echange a ete introduite dans Linux 2.6.29, puis fut conditionnee a l'attribut SWAP_FLAG_DISCARD dans Linux 2.6.36, qui supprime toujours la zone d'echange entiere quand swapon() est appelee, meme si ce bit d'attribut n'est pas mis. VOIR AUSSI mkswap(8), swapoff(8), swapon(8) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot et Jean-Pierre Giraud Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 22 decembre 2023 swapon(2)