Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
03 février 2016

Linux           Utilitaires Linux


taskset

taskset

Récupérer ou définir l'affinité processeur d'un processus

   taskset est utilisé pour récupérer ou définir l'affinité processeur d'un processus en cours d'exécution ou pour lancer une nouvelle commande avec une affinité processeur. 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 LSB correspondant au premier processeur logique et le MSB 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 sont généralement codés en hexadécimal.

Exemples

0x00000001 correspond au processeur n°0
0x00000003 correspond aux processeurs n°0 et 1
0xFFFFFFFF correspond au prosseurs n°0 à 31

OPTIONS

-a, --all-tasks Définis ou récupère l'affinité processeur de toutes les tâches (threads) d'un PID donné
-p, --pid Spécifie un PID existant
-c, --cpu-list Indisque une liste numérique de processeurs au lieu d'unn masque binaire. ex: 0,5,7,9-11

Permissions

   Un utilisateur peut modifier l'affinité d'un processus lui appartenant, mais doit posséder la capacité CAP_SYS_NICE pour modifier l'affinité d'un processus des autres utilisateurs. Un utilisateur peut récupérer l'affinité de n'importe quel processus.