GNU/Linux >> Tutoriels Linux >  >> Linux

Détermination du processeur particulier sur lequel un processus s'exécute

ps peut vous donner cette information si vous demandez le psr colonne (ou utilisez la colonne -F drapeau qui l'inclut).

Ex :

$ ps -F $$
UID        PID  PPID  C    SZ   RSS PSR STIME TTY      STAT   TIME CMD
me        6415  6413  0  5210  2624   2 18:52 pts/0    SN     0:00 -su

Ou :

$ ps -o pid,psr,comm -p $$
  PID PSR COMMAND
 6415   0 bash

Mon shell fonctionnait sur le CPU 2 lorsque j'ai exécuté la première commande, sur le CPU 0 lorsque j'ai exécuté la seconde. Méfiez-vous que les processus peuvent changer les processeurs très, très rapidement, de sorte que les informations que vous voyez réellement sont, pour l'essentiel, déjà obsolètes.

Quelques informations supplémentaires dans les réponses à cette question de super utilisateur :

Linux :commande pour connaître le numéro de processeur dans lequel un processus est chargé ?


Avec le top à partir de procps (généralement la valeur par défaut sur les distributions Linux de nos jours), en top , appuyez sur f , accédez à P = Last User CPU (SMP) et appuyez sur Espace à sélectionner (vous pouvez aussi déplacer le champ par exemple avant le COMMAND champ avec le droit touche puis déplacez-vous vers le haut et vers le bas). q pour revenir à l'écran principal (où vous verrez votre processus passer d'un processeur à l'autre à moins que vous ne l'ayez explicitement configuré pour rester avec un). Vous pouvez appuyer sur W pour l'enregistrer par défaut.

Appuyez sur  ? pour obtenir de l'aide.


La commande taskset est ce que vous cherchez :

ensemble de tâches - récupérer ou définir l'affinité CPU d'un processus

Exemple

$ taskset -p 12345
pid 12345's current affinity mask: f

Un masque de f signifie tous les processeurs, 0x00000001 serait juste le processeur 0.

$ taskset -c -p 24389 
pid 24389's current affinity list: 0-3

Affiche les processeurs sous forme de liste. J'ai 4 cœurs sur mon ordinateur portable dans cet exemple.

Voir la page de manuel a plus de détails.


Linux
  1. Trouver le temps d'exécution d'une commande ou d'un processus sous Linux

  2. Construire des conteneurs à la main :l'espace de noms PID

  3. 4 façons de trouver un cœur de processeur qui exécute un processus particulier sous Linux

  4. Quel processus a le Pid 0 ?

  5. Comment identifier un processus qui n'a pas de PID ?

Comment changer la priorité d'un processus sous Linux

Comment tuer le processus Linux en cours d'exécution sur un port particulier

Comment utiliser la commande which sous Linux

Existe-t-il une commande sous Linux pour connaître le numéro de processeur dans lequel un processus est chargé ?

Identification du MTA en cours d'exécution

Les fichiers .pid sont-ils fiables pour déterminer si un processus est en cours d'exécution ?