Manpages

NOM

taskset - Définir ou récupérer l’affinité processeur d’un processus

SYNOPSIS

taskset [options] masque commande [paramètre ...]
taskset
[options] -p [masquePID

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>.