NOM
taskset - Définir ou récupérer l’affinité processeur d’un processus
SYNOPSIS
taskset
[options]
masque commande [paramètre
...]
taskset [options] -p
[masque] PID
DESCRIPTION
taskset est généralement utilisé pour récupérer ou définir l’affinité processeur d’un processus en cours d’exécution en donnant son PID ou pour lancer une nouvelle commande avec une affinité processeur fournie. L’affinité processeur est une propriété de l’ordonnanceur qui « lie » un processus à un ensemble de processeurs donné sur un système. L’ordonnanceur de Linux respectera l’affinité processeur et le processus ne s’exécutera sur aucun autre processeur. Notez que l’ordonnanceur Linux gère également l’affinité processeur dite « naturelle » : l’ordonnanceur essaie de maintenir les processus sur le même processeur tant que cela a du sens pour des raisons de performances. Ainsi, forcer une affinité processeur spécifique n’est utile que dans certaines applications.
L’affinité du processeur est représentée par un masque binaire, avec le bit de poids le plus faible correspondant au premier processeur logique et le bit de poids le plus fort au dernier processeur logique. Tous les processeurs peuvent ne pas exister dans un système donné, mais un masque peut indiquer plus de processeurs que ceux qui sont présents. Un masque récupéré n’aura que les bits correspondants aux processeurs présents physiquement sur le système. Si un masque erroné est fourni (c’est-à-dire, un masque qui correspond à un processeur absent sur le système actuel) une erreur est alors renvoyée. Les masques peuvent être codés en hexadécimal (avec ou sans un « 0x » en tête) ou sous la forme d’une liste de processeurs avec l’option --cpu-list. Par exemple :
0x00000001 |
correspond au processeur nº 0 ; | ||
0x00000003 |
correspond aux processeurs nº 0 et nº 1 ; | ||
0xFFFFFFFF |
correspond aus processeurs du nº 0 au nº 31 ; | ||
32 |
correspond aux processeurs nº 1, nº 4 et nº 5 ; |
--cpu-list 0-2,6
correspond aux processeurs nº 0, nº 1, nº 2 et nº 6 ;
--cpu-list 0-10:2
correspond aux processeurs nº 0, nº 2, nº 4, nº 6, nº 8 et nº 10. Le suffixe « :N » spécifie la raison de l’intervalle : par exemple 0-10:3 est interprété comme la liste 0,3,6,9.
Lorsque taskset répond, il est garanti que le programme donné a été dirigé vers un processeur existant.
OPTIONS
-a, --all-tasks
Définir ou récupérer l’affinité processeur de toutes les tâches (threads) d’un PID donné.
-c, --cpu-list
Interpréter masque comme une liste numérique de processeurs au lieu d’un masque binaire. Les nombres sont séparés par des virgules, et peuvent comprendre des intervalles. Par exemple : 0,5,8-11.
-p, --pid
Agir sur un PID existant et ne pas lancer de nouvelle tâche.
-V, --version
Afficher le nom et la version du logiciel et quitter.
-h, --help
Afficher l’aide-mémoire puis quitter.
UTILISATION
Le comportement
par défaut est d’exécuter une nouvelle
commande avec un
masque d’affinité donné :
taskset masque commande [paramètres]
Vous pouvez également
récupérer l’affinité processeur
d’une tâche
existante :
taskset -p PID
ou la modifier :
taskset -p masque PID
PERMISSIONS
Un utilisateur peut modifier l’affinité processeur d’un processus lui appartenant. Un utilisateur doit posséder la capacité CAP_SYS_NICE pour modifier l’affinité processeur d’un processus appartenant à un autre utilisateur. Un utilisateur peut récupérer le masque d’affinité de n’importe quel processus.
VOIR AUSSI
chrt(1), nice(1), renice(1), sched_getaffinity(2), sched_setaffinity(2)
Consultez sched(7) pour une description de l’organisation de l’ordonnancement de Linux.
AUTEUR
Écrit par Robert M. Love.
COPYRIGHT
Copyright © 2004 Robert M. Love. C’est un logiciel libre ; consultez les sources pour les conditions de copie. Il n’y a AUCUNE garantie ; même pas de VALEUR MARCHANDE ou d’ADÉQUATION À UNE UTILISATION PARTICULIÈRE.
DISPONIBILITÉ
La commande taskset fait partie du paquet util-linux, elle est disponible sur https://www.kernel.org/pub/linux/utils/util-linux/.
TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <ccb [AT] club-internet.fr>, Michel Quercia <quercia AT cal DOT enst DOT fr>, Thierry Vignaud <tvignaud [AT] mandriva.com>, Frédéric Delanoy <delanoy_f [AT] yahoo.com>, Thierry Vignaud <tvignaud [AT] mandriva.com>, Christophe Sauthier <christophe [AT] sauthier.com>, Sébastien Blanchet, Jérôme Perzyna <jperzyna [AT] yahoo.fr>, Aymeric Nys <aymeric AT nnx POINT com>, Alain Portal <aportal [AT] univ-montp2.fr>, Thomas Huriaux <thomas.huriaux [AT] gmail.com>, Yves Rütschlé <l10n [AT] rutschle.net>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon [AT] wanadoo.fr>, Julien Cristau <jcristau [AT] debian.org>, Philippe Piette <foudre-blanche [AT] skynet.be>, Jean-Baka Domelevo-Entfellner <domelevo [AT] gmail.com>, Nicolas Haller <nicolas [AT] boiteameuh.org>, Sylvain Archenault <sylvain.archenault [AT] laposte.net>, Valéry Perrin <valery.perrin.debian [AT] free.fr>, Jade Alglave <jade.alglave [AT] ens-lyon.org>, Nicolas François <nicolas.francois [AT] centraliens.net>, Alexandre Kuoch <alex.kuoch [AT] gmail.com>, Lyes Zemmouche <iliaas [AT] hotmail.fr>, Florentin Duneau <fduneau [AT] gmail.com>, Alexandre Normand <aj.normand [AT] free.fr>, David Prévot <david [AT] tilapin.org> et Jean-Pierre Giraud <jean-pierregiraud [AT] neuf.fr>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 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 [AT] lists.org>.