[Logiciels] Modifier la priorité d'une application

Dernière mise à jour le 12 novembre 2009 à 13:38 par marlalapocket
Publié par ChewyQc


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
Meilleures réponses pour « Modifier la priorité d'une application » dans :
Modifier l'application par défaut à l'ouverture d'un fichier Voir Quand vous double-cliquez sur un fichier, une action par défaut est exécutée. (Par exemple, si vous double-cliquez sur un fichier .jpg, c'est la visionneuse d'image "Eye of Gnome" qui est lancée). Il est très facile de changer les actions par...
Xubuntu: Modifier le menu "Applications" VoirModifier le menu application de Xubuntu Contrairement à Ubuntu, Xubuntu ne possède pas d'éditeur de menu. Le seul moyen d'éditer le menu est d'aller modifier des fichiers texte à la main. Pour cela, ouvrez un terminal (n'utilisez pas le...
Modifier son fichier Hosts VoirPOURQUOI modifier le fichier Hosts ? COMMENT modifier le fichier Hosts ? Où se trouve le fichier Hosts original ? Que contient-il ? Méthode de modification Restaurer le fichier Hosts à son état d'origine Alternative à Rhosts POURQUOI...
6 applications professionnelles pour votre iPhone Voir6 applications professionnelles pour votre iPhone Pratique et au design séduisant, l’iPhone d’Apple est entré en été 2007 sur le marché avec un très grand succès. Avec déjà des fonctionnalités pré-intégrées performantes, Apple propose en plus sur...
SQL - Modification de table VoirModification de table Il est possible de supprimer une table grâce à la clause DROP, il existe aussi des commandes moins extrêmes permettant L'ajout de colonnes La modification de colonnes La suppression de colonnes Enfin, il est possible...
Enterprise Application Integration (EAI) VoirIntroduction à la notion d'EAI L'objet de l'EAI (Enterprise Application Integration, traduisez intégration des applications de l'entreprise) est l'intéropérabilité et l'organisation de la circulation de l'information entre des applications...
Application Service Provider (ASP) VoirNotion d'hébergement de service Le terme ASP (Application Service Provider, en français FAH pour Fournisseur d'applications hébergées) désigne la fourniture par un prestataire d'une application utilisable à travers les réseaux. Il s'agit donc de...