swapon(2) System Calls Manual swapon(2) NOM swapon, swapoff - Activer/désactiver un fichier ou un périphérique de swap BIBLIOTHÈQUE Bibliothèque C standard (libc, -lc) SYNOPSIS #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 éle- vé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 utili- sant 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 En cas de succès, zéro est renvoyé. En cas d'erreur, -1 est renvoyé et errno est définie pour préciser l'erreur. 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 ordi- naire, 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(5). EINVAL (depuis Linux 3.4) (swapon()) swapflags 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 pour le système entier 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 maxi- mal de fichiers d'échange est atteint ; voir la section NOTES. STANDARDS 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 Linux 2.4.10, MAX_SWAP- FILES valait 8 ; depuis Linux 2.4.10, il vaut 32. Depuis Linux 2.6.18, cette limite est décrémentée de 2 (et vaut donc 30) si le noyau est compilé avec CONFIG_MIGRATION (qui réserve deux entrées de table de swap pour les l'option 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_FAI- LURE. Depuis Linux 5.14, la limite encore décrémentée de 4 si le noyau est compilé avec l'option CONFIG_DEVICE_PRIVATE. La suppression de pages d'échange a été introduite dans Linux 2.6.29, puis fut conditionnée à l'attribut SWAP_FLAG_DISCARD dans Linux 2.6.36, qui supprime toujours la zone d'échange entière quand swapon() est ap- pelée, même si ce bit d'attribut n'est pas mis. VOIR AUSSI mkswap(8), swapoff(8), swapon(8) TRADUCTION La traduction française de cette page de manuel a été créée par Chris- tophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <ste- phan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, Fran- çois Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Gué- rard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.cou- lon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centra- liens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <si- mon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@de- bian.org>, David Prévot <david@tilapin.org> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr> Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à ⟨debian-l10n-french@lists.debian.org⟩. Pages du manuel de Linux 6.03 4 décembre 2022 swapon(2)
Generated by dwww version 1.15 on Sat Jun 29 01:36:42 CEST 2024.