J'utilise le start /AFFINITY [n] [.exe]
commande pour démarrer un exécutable avec l'affinité spécifiée. J'ai un système avec 8 processeurs (1,2,3,4,5,6,7,8). Je voudrais configurer le processus pour utiliser tous les processeurs impairs (1,3,5,7). Je ne peux pas comprendre comment faire cela et je voudrais savoir si c'est possible en utilisant la commande start. Sinon, existe-t-il une autre manière ligne de commande de le faire?
L'aide de la commande start n'était pas particulièrement utile:
AFFINITY Specifies the processor affinity mask as a hexadecimal number.
The process is restricted to running on these processors.
The affinity mask is interpreted differently when /AFFINITY and
/NODE are combined. Specify the affinity mask as if the NUMA
node's processor mask is right shifted to begin at bit zero.
The process is restricted to running on those processors in
common between the specified affinity mask and the NUMA node.
If no processors are in common, the process is restricted to
running on the specified NUMA node.
AFFINITY fonctionne avec un masque hexidécimal qui devrait permettre un contrôle granulaire de tous vos processeurs. Notez que le bit le plus à droite spécifie le processeur de plus bas niveau (0) (voir KB 299641 ).
Pour le cas en question, 0xAA (10101010) demande que votre processus s'exécute en utilisant les processeurs 1, 3, 5 et 7, mais pas 0, 2, 4 ou 6. Assurez-vous de laisser de côté le '0x' sur la ligne de commande.
start /affinity AA app.exe
Autres exemples:
start /affinity 1 app.exe (only use CPU 0)
start /affinity 2 app.exe (only use CPU 1)
start /affinity 1F app.exe (only use CPUs 0, 1, 2, 3, and 4)
Pour obtenir le bon numéro HEX, imaginez vos cœurs au format avion 8765 4321 (pour le processeur à 8 cœurs) en sens inverse (mais PAS comme 1234 5678)
Pour activer les cœurs 7, 6 et 3, tapez le numéro 0x64
pour l'affinité:
/AFFINITY 0x64
Pour mieux voir, assortir et comparer: 0110 0100
- nombre = 0x64
(8765 4321) - noyaux
Pour l'exemple @ladenedge: /AFFINITY AA
1010 1010
- nombre = 0xAA (8765 4321) - cœurs
Voir aussi: Démarrer une application affectée à un processeur spécifique sous Windows 7, 8 ou Vista
Plus d'informations pour vos propres besoins de calcul:
CPU ID CPU value (dec)
0 001 (= 2^0)
1 002 (= 2^1)
2 004 (= 2^2)
3 008 (= 2^3)
4 016 (= 2^4)
5 032 (= 2^5)
6 064 (= 2^6)
7 128 (= 2^7)
Par conséquent:
Référence: recherchez le modèle "Ce sont des valeurs de masque d'affinité pour un système à 8 CPU" sur https://msdn.Microsoft.com/en-US/library/ms187104.aspx .