Comment allouer manuellement des cœurs de processeur à un programme sous Windows 10 ?

Si vous disposez d’un matériel peu performant et que vous souhaitez améliorer les performances de vos programmes préférés, vous pouvez leur allouer des cœurs de processeur.

Windows 10 dispose d’un grand nombre d’options que vous pouvez modifier pour obtenir de meilleures performances. Les fonctions Affinité de processeur et Priorité du processeur de Windows 10 sont parmi les plus ingénieuses, et bien qu’elles ne constituent pas une solution miracle pour améliorer instantanément les performances d’un PC, elles feront la différence si votre matériel vieillit.

Compte tenu de la sensibilité des processus, vous ne devez définir l’affinité des processeurs et la priorité du processeur que si vous êtes prêt à accepter que les choses se dégradent. Toutefois, si vous êtes prêt à modifier votre système pour qu’il soit le meilleur possible, voyons comment définir l’affinité du processeur et la priorité du processeur dans Windows 10.

processeur

Qu’est-ce que l’affinité des processeurs dans Windows 10 ?

Chaque système d’exploitation possède un algorithme d’ordonnancement sous-jacent. L’algorithme d’ordonnancement est responsable de la distribution des ressources informatiques aux différents processus ou threads. Dans Windows 10, des centaines de processus peuvent être exécutés en même temps.

Le CPU ne peut pas gérer tous ces processus simultanément, l’algorithme de planification gère donc ces processus et leur attribue du temps CPU en fonction de plusieurs facteurs.

En tant que telle, l’affinité de processeur peut être considérée comme une intervention de l’utilisateur dans l’ordonnanceur. Normalement, l’algorithme de planification de Windows décide quel processus sera exécuté sur quel cœur de CPU. Si vous définissez manuellement Processor Affinity, vous pouvez forcer un processus ou un thread à s’exécuter sur le cœur de votre choix.

En d’autres termes, l’affinité des processeurs vous permet d’affecter un ou plusieurs cœurs de processeur aux processus ou aux threads de votre choix. Les processus ou threads pour lesquels vous définissez l’affinité ne s’exécuteront que sur les cœurs spécifiés.

Cependant, cela ne rend pas les cœurs exclusifs à ces processus uniquement. Windows peut toujours affecter différents processus à ces cœurs. La définition de l’affinité des processeurs n’affecte que les processus que vous choisissez en les faisant fonctionner uniquement sur les cœurs assignés.

Qu’est-ce que la priorité du CPU dans Windows 10 ?

Comme nous l’avons expliqué ci-dessus, il peut y avoir des centaines de processus ou de threads qui se disputent le temps CPU à tout moment dans Windows 10. Pour s’assurer que les processus et les threads d’exécution importants obtiennent un accès prioritaire aux ressources du CPU, l’algorithme de planification de Windows attribue une priorité à chaque processus et thread d’exécution du système d’exploitation.

Par exemple, l’algorithme de planification de Windows accorde une priorité élevée aux processus Windows critiques comme System et Explorateur Windows. Si ces processus se trouvent dans une file d’attente, ils auront accès au processeur avant les processus moins prioritaires.

Ainsi, lorsque vous définissez manuellement la priorité du processeur d’un processus à un niveau élevé, le programmateur de Windows s’assure que ce processus obtient un accès prioritaire aux ressources du processeur.

Enfin, la priorité du processeur est très différente de l’affinité des processeurs. Alors que la définition de la priorité CPU d’un processus informe le programmateur de la manière de traiter ce processus, la définition de l’affinité des processeurs verrouille un processus à un ou plusieurs noyaux CPU spécifiques. Avec l’affinité de processeur définie, même si le processus a une priorité élevée ou faible, il sera exécuté sur les noyaux/cœurs spécifiés.

Pourquoi vouloir affecter des programmes à des cœurs de processeur spécifiques ?

L’un des plus gros problèmes auxquels l’informatique moderne doit faire face est le grand nombre de programmes monofilaires. Même en 2021 où la plupart des processeurs sont à quatre cœurs ou plus, certains programmes ne tirent parti que d’un seul des nombreux cœurs disponibles.

Cela pose un problème aux ordonnanceurs des systèmes d’exploitation modernes : comment ordonnancer des processus monofilaires sur des processeurs multifilaires sans rompre la compatibilité ?

Dans la plupart des cas, les ordonnanceurs modernes planifient efficacement les processus monofilaires sur les processeurs modernes. Mais il arrive parfois qu’un programme ancien s’interrompe en raison d’une mauvaise compatibilité. C’est là que la configuration de Processor Affinity peut être utile.

L’affinité de processeur limite les processus à l’exécution sur les cœurs de CPU spécifiés. Dans le cas d’anciens programmes monofilaires, vous pouvez limiter ces processus à un seul cœur de processeur en définissant l’affinité de processeur.

En outre, les personnes dont les machines sont plus faibles peuvent également bénéficier de la définition d’une priorité élevée pour leurs tâches importantes. Par exemple, si vous êtes un éditeur vidéo, vous pouvez définir une priorité élevée pour votre programme de rendu avant de lancer le rendu d’une vidéo. De cette façon, lorsque vous souhaitez effectuer le rendu d’une vidéo, Windows sait qu’il doit consacrer la majeure partie de son attention au traitement de votre vidéo.

Comment définir l’affinité du processeur et la priorité du processeur ?

Pour définir l’affinité des processeurs et la priorité du CPU, vous allez devoir ouvrir le Gestionnaire des tâches et continuer à partir de là.

  • Ouvrez le Gestionnaire des tâches en cliquant avec le bouton droit de la souris dans la barre des tâches de Windows 10 et en sélectionnant Gestionnaire des tâches. Naviguez ensuite jusqu’au processus pour lequel vous voulez définir l’affinité.
  • Ensuite, faites un clic droit sur ce processus et choisissez Accéder aux détails.
  • Le processus que vous avez choisi sera mis en évidence dans le nouveau panneau qui s’affiche. Cliquez avec le bouton droit de la souris sur le processus en surbrillance et sélectionnez Définir l’affinité. Le panneau Affinité du processeur s’affiche alors.
  • Dans le panneau Affinité du processeur, désélectionnez les cœurs de processeur sur lesquels vous ne voulez pas que le processus s’exécute. Ensuite, cliquez sur OK. L’affinité de processeur sera maintenant définie et le processus que vous avez choisi ne s’exécutera que sur les cœurs de CPU sélectionnés.
  • Pour définir la priorité du processeur, cliquez avec le bouton droit de la souris sur n’importe quel processus dans le Gestionnaire des tâches et sélectionnez Accéder aux détails.
  • Ensuite, cliquez avec le bouton droit de la souris sur le processus mis en évidence et cliquez sur Définir la priorité.
  • Choisissez la priorité dans la liste qui s’affiche. Si vous voulez que votre processus s’exécute dès qu’il en a besoin, sélectionnez Temps réel.

Cependant, si vous choisissez Temps réel, d’autres processus système, peut-être critiques, attendront dans la file d’attente. Cela peut entraîner un ralentissement général du système dans le cas le moins grave et une défaillance complète du système dans le pire des cas, soyez donc prudent lorsque vous définissez un processus en priorité Temps réel.

  • La priorité Haute, en revanche, est plus sûre tant que vous ne mettez pas trop de processus en priorité Haute.
  • Les autres options de la liste, à savoir Supérieure à la normale, Normale, Inférieure à la normale et Basse, sont explicites.

Ne définissez pas l’affinité des processeurs et la priorité du processeur si vous ne savez pas ce que vous faites

Vous ne devez définir l’affinité des processeurs et la priorité du processeur que si vous savez ce que vous faites. L’augmentation des performances, bien que majeure dans certains cas, ne vaut pas les problèmes que vous pouvez rencontrer si quelque chose ne va pas. Des ralentissements aux plantages aléatoires du système, la définition de l’affinité et de la priorité ne devrait être que votre dernière option.