2011-07-12 1 views
5

J'utilise l'outil taskset pour définir l'affinité de l'UC pour l'un de mes programmes. Comment puis-je définir l'affinité sur une seule CPU seulement - car je ne savais pas à ce sujet, donc je faisais ceci:Définition de l'affinité de l'UC à l'aide du jeu de tâches

taskset -c 2-2 tests/prog 1 2 3 

... attendant, que je planifiez le programme à exécuter sur CPU # 2 seulement, en suivant la même manière pour les autres processeurs. Même si j'ai raison, c'est une mauvaise façon d'effectuer ce que je veux IMO, puis-je obtenir de l'aide?

Merci,
Sayan

Répondre

3

taskset -c 2 ... devrait travailler à épingler le programme CPU # 2 (qui est la troisième CPU - CPU sont numérotés de 0).

Même si j'ai raison, c'est une mauvaise façon d'effectuer ce que je veux IMO, puis-je obtenir de l'aide?

Dépend de ce que vous voulez. Qu'est-ce que vous essayez d'accomplir?

+0

J'avais l'impression que taskset -c 2 programmerait le programme sur CPU # 0, CPU 1 et CPU # 2. Merci d'avoir clarifié. Je veux juste exécuter un programme à partir d'un processeur spécifique à la fois. BTW, était ma syntaxe sur la question originale correcte? – Sayan

+1

Correct. 'taskset -c 2-2' fonctionne également, c'est juste inutilement verbeux. – duskwuff

3

serait manière la plus simple en utilisant les masques CPU comme

taskset -p mask pid 

#taskset -p 0x00000001 11587 
pid 11587's current affinity mask: ff 
pid 11587's new affinity mask: 1 
Questions connexes