Logiciels - Modifier la priorité d'une application

Décembre 2016



Introduction


Windows NT (version 3.51 & 4), 2000, XP et Vista attribuent automatiquement aux processus une priorité par défaut. Plus la priorité d'un processus est haute, plus Windows allouera du temps CPU à ce processus (au détriment des autres applications) Ceci afin de privilégier son exécution par rapport aux autres. Cette astuce va nous permettre de modifier cette priorité afin qu'une application donnée s'exécute plus rapidement. Concrètement, on va accélérer une application pour pas un rond ! Des tests effectués sur le bench CPUmark révèlent un gain de 1 à 2 points. C'est toujours ça !

Voici les différentes priorités que l'on peut affecter à un processus :


Bien entendu, seules les deux premières priorités (realtime et high) nous seront utiles.

Ok, c'est bien beau mais comment s'y prendre ?

Méthode de modification de la priorité


Par défaut la plupart des applications chargées en mémoire sont définies en un niveau "Normale". Cependant, il est possible d'augmenter ce niveau. La solution la plus simple (mais pas la plus pratique) est de lancer le gestionnaire des tâches lorsque l'application que l'on souhaite accélérer est déjà en cours d'utilisation.

Il suffit de suivre cette procédure :
  • Faites un clic droit sur un emplacement vide de la barre des tâches.
  • Cliquez sur "Gestionnaire des tâches" et choisissez l'onglet "Processus".
  • Faites un clic droit sur le processus que vous voulez changer son niveau de priorité.
    • Si vous n'arrivez pas à identifier le processus, allez à l'onglet "Applications" et faites un clic droit sur l'application puis choisissez "Allez dans le processus". Le processus que vous cherchiez sera sélectionné automatiquement.
  • Choisissez Définir "la priorité", puis choisissez le niveau de priorité que vous voulez.
  • Acceptez la modification de la priorité dans le message qui s'affiche en cliquant sur "Modifier la priorité". (Capture suivante prise sous Windows Vista, mais elle n'est pas très différente de celle de Windows XP).


Attention: changer la priorité d'une application peut engendrer des instabilités du système. En effet, si l'application lancée en priorité high ou realtime est gourmande en CPU, les processus d'arrière plan n'auront que très peu de temps CPU alloué

En fait, le mode realtime va allouer en premier sur le CPU chaque action demandée par l'application et laisser en attente les autres durant cette action, donc si vous application est, par exemple, en train d'enregistrer un fichier : les autres applications sont bloquées, seule celle en realtime fonctionne. (Ce qui explique votre MSN déconnecté après l'enregistrement ou autres problèmes.)
Il est donc déconseillé de mettre 2 ou plus processus en realtime.

Lancer un processus via l'invite de commande


Une autre solution consiste à lancer l'application en ligne de commande (dans une session DOS) :
  • Ouvrez l'invite de commande:
    • Sous Windows XP: Déroulez le menu Démarrer > Exécuter et tapez cmd et validez.
    • Sous Windows Vista: Déroulez le menu Démarrer > tapez cmd dans la barre de recherche, puis faites un clic droit sur "cmd" dans les résultats de recherche et choisissez "Exécuter en tant qu'Administrateur".
  • Saisissez une des commandes suivantes :
    • START /LOW chemin_de_l'application : pour lancer l'application en basse priorité
    • START /BELOWNORMAL chemin_de_l'application : en priorité inférieure à la normale
    • START /NORMAL chemin_de_l'application : en priorité normale
    • START /ABOVENORMAL chemin_de_l'application : en priorité supérieure à la normale
    • START /HIGH chemin_de_l'application : en haute priorité
    • START /REALTIME chemin_de_l'application : en temps réel
    • Il faut remplacer chemin_de_l'application par le chemin de l'application. Si ce chemin contient des espaces, il suffit de mettre des guillemets à chaque extrémités sur chemin.

Note :
Attention si vous avez recourt aux guillemets (dans le cas d'un espace dans le nom du fichier ou du chemin), la syntaxe sera interprétée comme le titre de la fenêtre a afficher et affichera une nouvelle fenêtre commande.
Il faut donc tromper l'interpréteur et utiliser cette syntaxe :
START "" /HIGH "chemin et/ou nom avec des espaces"


Afin de simplifier le tout, nous allons créer un fichier batch (fichier de commande avec extension .bat) : il suffit de créer un fichier avec un éditeur de texte (Bloc-notes par exemple) et d'y inscrire la ligne de commande. Dans notre exemple, le fichier créé pourra s'appeler quake.bat et il contiendra la ligne :
START /HIGH quake3.exe

Il faut évidement que le fichier de commande se trouve dans le même répertoire que le programme à lancer. Il ne vous reste plus qu'à double cliquer sur le fichier batch pour lancer l'application. Pas compliqué, non ?

Si vous voulez plus d'informations sur cette commande, tapez help start dans votre invite de commande.

Lancer un processus via le menu contextuel


Il est encore possible d'ajouter au menu contextuel des fichiers exécutables une option pour lancer un processus en un niveau de priorité différent de la normale. Pour cela, une modification de registre est nécessaire. Comme d'habitude, et pour votre intérêt, il est préférable de sauvegarder votre base de registre.
  • Ouvrez l'éditeur de registre.
  • Dans l'arborescence, ouvrez successivement les clés suivantes: HKEY_CLASSES_ROOT\exefile\shell
  • Dans la fenêtre à droite, faites un clic droit sur un emplacement vide > Nouveau > Clé.
  • Donnez à cette clé le nom qui apparaitra dans le menu contextuel, par exemple "Lancer en haute priorité".
  • Faites encore un clic droit sur cette clé > Nouveau > Clé et donnez-là le nom command.
  • Sous cette dernière nouvelle clé, faites un double clic sur la valeur "(par défaut)", et entrez ceci :
    c:\windows\System32\cmd.exe /c start "runhigh" /high "%1
    • Il faut remplacer c:\Windows par le répertoire où le système est installé.
    • Validez et fermez la fenêtre de l'éditeur de registre.


Voici le résultat :



Vous pouvez refaire la même manip pour les autres niveaux, il suffit de prendre l'une de ces données de la valeur "(par défaut)":
  • Pour une basse priorité:

c:\windows\System32\cmd.exe /c start "runlow" /low "%1
  • Pour une priorité inférieure à la normale:

c:\windows\System32\cmd.exe /c start "runbelownormal" /belownormal "%1
  • Pour une priorité supérieure à la normale:

c:\windows\System32\cmd.exe /c start "runabovenormal" /abovenormal "%1
  • Pour une haute priorité:

c:\windows\System32\cmd.exe /c start "runhigh" /high "%1
  • Pour une priorité en temps réel:

c:\windows\System32\cmd.exe /c start "runrealtime" /realtime "%1

A voir également :

Ce document intitulé «  Logiciels - Modifier la priorité d'une application  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.