Maison  >  Article  >  Opération et maintenance  >  Comment vérifier sur quel processeur se trouve un processus sous Linux

Comment vérifier sur quel processeur se trouve un processus sous Linux

WBOY
WBOYoriginal
2022-05-23 16:48:518796parcourir

Méthode de visualisation : 1. Utilisez la commande top, qui peut afficher sur quel processeur le processus est exécuté. La syntaxe est "top -p process number" ; 2. Utilisez la commande tâcheset, qui est utilisée pour voir sur quel processeur le processus est exécuté. ou le thread est en cours d'exécution, la syntaxe est "tasksset -p numéro de processus".

Comment vérifier sur quel processeur se trouve un processus sous Linux

L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.

Comment vérifier sur quel processeur le processus s'exécute sous Linux

Méthode 1 : utilisez la commande top

La commande top peut afficher sur quel processeur le processus s'exécute et peut surveiller en permanence les changements au fil du temps pour voir quel processeur le processus est en cours et des changements se produisent.

Étapes d'utilisation :

top -p [进程号],例如 top -p 3000

Appuyez sur la touche "F", utilisez les touches haut et bas pour sélectionner P = Dernier processeur utilisé, et appuyez sur la barre d'espace "*" apparaît pour indiquer la sélection, puis appuyez sur "q" pour. sortie.

Méthode 2 : utilisez la commande tâcheset

taskset peut vérifier sur quel processeur un processus (ou thread) spécifique est exécuté, ou faire exécuter un programme sur un ou plusieurs processeurs

options de paramètres de jeu de tâches :

(1 )-p, --pid : exploite le PID existant, ne démarre pas de nouvelles tâches

(2)-c, --cpu-list : spécifie une liste de numéros de processeur, pas un masque de bits. La liste peut contenir plusieurs éléments, séparés par des virgules et des plages. Par exemple, 0, 5, 7, 9 - 11.

1) Afficher le CPU sur lequel le processus est en cours d'exécution : paramètre -p

Exemple 1 :

[root@localhost ~]# taskset -p 21184

Afficher les résultats :

pid 21184’s current affinity mask: ffffff

Remarque : 21184 est le numéro du processus. Le ffffff qui affiche le résultat est en fait un masque de bits dans lequel les 24 bits de poids faible du binaire sont tous égaux à 1. Chaque 1 correspond à 1 CPU, indiquant que le processus s'exécute sur 24 CPU.

Exemple 2 :

[root@localhost ~]# taskset -p 2030

Résultat d'affichage :

pid2030’s current affinity mask: f

Remarque : Cela montre que sshd allume aléatoirement 4 processeurs.

Exemple 3 :

[root@localhost ~]# taskset -p 2726

Résultat d'affichage :

pid 2726’s current affinity mask: 3

Remarque : Le nombre décimal affiché 3 est converti en binaire et les deux plus bas sont 1. Chaque 1 correspond à un CPU, le processus s'exécute donc sur 2 CPU.

*Remarque : *L'étiquette du processeur commence à 0, donc cpu1 représente le deuxième processeur (la première étiquette du processeur est 0).

À propos de la méthode de conversion

ID CPU de 8 cœurs : 7 6 5 4 3 2 1 0

Les chiffres décimaux correspondants de 10 : 128 64 32 16 8 4 2 1

16 chiffres en hexadécimal C'est : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

correspondant à chaque chiffre binaire hexadécimal : 0=0000,1 =0001,2= 0010,3=0011,4=0100,5=0101,6=0110,7=0111,8=1000,9=1001,A=1010,

B=1011,C=1100,D =1101,E= 1110,F=1111

Par exemple, le masque d'affinité actuel du pid 8987 apparaît : ff ff est hexadécimal, converti en binaire : 11111111, ce qui signifie que sshd est remplacé sur 8 CPU ! Donc correspondant à chaque valeur !

Par exemple, 40 en hexadécimal, puis convertir en binaire 01000000, ce qui signifie fonctionner sur le 7ème CPU

Apprentissage recommandé : Tutoriel vidéo Linux

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn