Pour commencer par le «ensemble de tâches»Commande, premièrement, nous devons connaître l'affinité des processus. L'affinité du processus est la propriété du planificateur qui aide à lier ou à dénigrer le processus afin que le processus s'exécute uniquement avec le CPU alloué.
Dans les systèmes de type Linux, il existe plusieurs outils pour définir l'affinité du processeur d'un processus. L'un des services publics populaires est le «ensemble de tâches«La commande qui semble difficile, mais la casser avec différentes étapes le rend plus facile.
Avec l'aide du «ensemble de tâches”Outil de commande, l'utilisateur peut récupérer ou définir l'affinité CPU d'un processus particulier avec son ID de processus (PID) donné. Non seulement cela, mais cela aide également l'utilisateur à affecter manuellement les cœurs de processeur.
Grâce à cet utilitaire, on peut remplir deux fonctions avec l'affinité du processus; Tout d'abord, vous pouvez définir l'affinité CPU pour les programmes qui doivent être lancés. Deuxièmement, pour définir l'affinité CPU pour les programmes déjà dans un état de course.
La chose importante à garder à l'esprit que l'affinité CPU est signifiée comme bitmask mais en utilisant le «ensemble de tâches«Options, vous pouvez l'afficher numériquement. Vous pouvez spécifier la liste des massasques au format hexadécimal (avec ou sans 0x).
Par exemple:
0x00000001 représente le processeur 0
0x00000003 représente le processeur 0 et 1
0x00000007 représente le processeur 0, 1 et 2
Et ainsi de suite…
La syntaxe du «ensemble de tâches»La commande est:
Taskset [Options] Commande de masque [Argument…]
(Exécutez une commande avec un masque d'affinité donné)
taskset [options] -p [masque] pid
(Définissez l'affinité du processeur d'une tâche existante)
taskset -p pid
(Récupérer l'affinité du processeur d'une tâche existante)
Options de commandes de taskset:
Le "ensemble de tâches»L'outil de commande prend en charge les options suivantes:
Option | Description |
---|---|
-A,-tout | Utilisé pour définir l'affinité CPU de toutes les tâches pour le PID donné |
-C, -cpu-list | Permet de spécifier les processeurs dans une liste numérique au lieu d'un massac |
-P, -pid | Fonctionne sur le PID existant et ne permet pas de lancer la nouvelle tâche |
-aider | Imprimez le message d'aide et sortez |
-version | Imprimez la version de la commande et sortez |
Comment utiliser les options de commande «taskset»:
Grâce aux multiples options du «ensemble de tâches«Commande, l'utilisateur peut effectuer diverses opérations avec les processus donnés:
Retrouvez l'affinité CPU d'un processus:
Le "ensemble de tâches»La commande est utilisée pour afficher l'affinité du CPU d'un processus qui s'exécute déjà.
Avant de commencer, nous devons obtenir le PID de ce processus spécifique:
$ pidof mozila firefox
Maintenant, utilisez le PID pour obtenir l'affinité CPU dans un terminal:
$ taskset -p 1825
Afficher la gamme CPU:
Pour obtenir la gamme CPU d'un processus dans un terminal, exécutez la commande mentionnée:
$ taskset -cp 1825
Changer l'affinité du processeur:
Vous pouvez modifier l'affinité CPU d'un processus en attribuant la nouvelle valeur au PID du processus existant via la commande:
$ taskset -p 0x7 1825
(Comme vous pouvez le voir, je définis la valeur d'affinité 7, et elle a été modifiée, vous pouvez définir en fonction de l'exigence)
Pour vérifier la valeur actuelle de l'affinité CPU, utilisez la même commande que nous avons exécutée ci-dessus. Vous obtiendrez la valeur mise à jour:
$ taskset -p 1825
Changer la plage du processeur:
L'affinité CPU d'un processus en cours peut également être allouée à l'aide de la commande mentionnée:
$ taskset -cp 0,2 1825
En utilisant le "ensemble de tâches«Commande, l'utilisateur ne peut pas seulement définir l'affinité ou la plage du CPU, mais l'utilisateur peut également attribuer le noyau du CPU au processus.
Dans Unix Systems, les nombres de cœurs à partir de 0, ce qui signifie que le premier noyau du système serait 0, et le 2ème noyau serait 1, et ainsi de suite.
Attribuer un noyau signifie que vous souhaitez exécuter ce processus sur ce noyau particulier. Vous pouvez également allouer plusieurs cœurs à un seul processus.
Ainsi, la syntaxe de ce processus est:
taskset -c [nombre de cœurs] [Nom du processus]
Perdons un exemple, définissons le noyau CPU sur Firefox en utilisant la commande mentionnée ci-dessous:
$ taskset -c 3,5 Firefox
La commande attribuera le noyau 3 et le noyau 5 à incendier Et ouvrez-le:
Il existe une autre façon de définir Core; Par exemple, si vous souhaitez définir le noyau du noyau 3 au noyau 5. Vous utiliserez le trait d'union "-"Au lieu d'une virgule:
$ taskset -C 0-4 Firefox
Commande supérieure:
Le "haut"La commande est utilisée pour afficher tous les processus en cours d'exécution avec leur PID qui est considéré comme un moyen rapide d'obtenir la liste sur le terminal. Vous n'avez pas besoin de trouver la configuration complexe pour surveiller les applications.
Tapez le "haut»Dans le terminal pour obtenir les noms de tous les programmes en cours d'exécution:
$ top
Conclusion:
Dans cette écriture, nous avons discuté du «ensemble de tâches»Outil de commande et ses options pour définir l'affinité CPU d'un processus donné. Le "ensemble de tâches»La commande est un outil Linux qui aide à affecter le noyau CPU à un processus à exécuter et à exécuter uniquement sur les cœurs de processeurs désignés. Nous avons également vérifié comment définir l'affinité CPU pour le processus dans un état de course.