PROJET AUTOBLOG


Shaarli - Les discussions de Shaarli

Archivé

Site original : Shaarli - Les discussions de Shaarli du 23/07/2013

⇐ retour index

Régler l'affinité d'un processus sous Windows Vista+ en ligne de commande/dans un raccourcis

lundi 3 novembre 2014 à 22:57
Les piti liens de Vader 03/11/2014
Si vous voulez définitivement changer l'affinité d'un processus au lancement il faut utiliser la commande suivante dans un batch (ou changer le raccourcis pour lancer le processus via un cmd.exe /K)

start "Titre" /affinity 0xAA0 "chemin_vers_l.exe"

Le paramètre derrière /affinity est un masque hexadécimal et il faut faire une petite gymnastique; nous allons voir comment j'arrive à mon 0xAA0. Prenons l'exemple (comme dans mon cas) que vous ayez 12 threads sur votre machine.

0000 0000 0000

Attention ils sont numérotés à l'ENVERS. L'ordre est donc 11 10 9 8  7 6 5 4  3 2 1 0.
Imaginons que je veux définir une affinité sur le 12ème (n°11 donc), le 10ème (n°9), le 8ème (n°7) et le 6ème (n°5) thread. Je fais mon masque en passant à 1 les processeurs dont je veux que mon process ait l'affinité :
1010 1010 0000

Je transforme cette valeur en hexadécimal (la calculatrice windows en mode dev fait ça très facilement :)) et j'obtiens AA0 et je signale au process que je lui donne à bouffer de l'hexa en rajoutant 0x devant.

C'est simple comme bonjour ! #oupas
(Permalink)