J'ai accès à un nœud à 8 cœurs d'un cluster Linux. Une fois connecté au nœud, je peux voir une liste de processeurs à l'aide de cette commande:
more /proc/cpuinfo
Dans mon nœud à 8 cœurs, les processeurs sont numérotés de 0 à 7. Chaque processeur est un processeur Intel Xeon (E5430 @ 2,66 GHz).
Supposons maintenant que j'appelle le programme fooavec quelques arguments args:
foo args
Le programme fooest long à exécuter (heures ou jours, par exemple). Après avoir appelé foo, est-il possible de déterminer le processeur particulier (c.-à-d. 0 à 7) sur lequel foofonctionne? Le topprogramme me montre l'ID du processus et des informations similaires, mais je ne vois pas le numéro du processeur . Ces informations sont-elles disponibles?
fooà deux processeurs différents. Quand j'appelle fooune fois, ça tourne à %CPUtrès près de 100% (selon top). Mais quand j'appelle fooune seconde fois, les deux fooprocessus sont exécutés de telle sorte que le %CPUpour les deux procédés somme à moins de 100% (habituellement d' environ 45% pour chaque fooprocessus). Pour moi, cela suggère que les deux appels à foos'exécutent sur le même processeur (même s'il existe huit processeurs disponibles); Je voudrais vérifier que c'est le cas.