Vous êtes sur la page 1sur 12

Modification de la priorit d'excution des programmes Introduction

Windows NT (version 3.51 & 4), 2000, XP et Vista attribuent automatiquement aux processus une priorit par dfaut. Plus la priorit d'un processus est haute, plus Windows allouera du temps CPU ce processus (au dtriment des autres applications) Ceci afin de privilgier son excution par rapport aux autres. Cette astuce va nous permettre de modifier cette priorit afin qu'une application donne s'excute plus rapidement. Concrtement, on va acclrer une application pour pas un rond ! Des tests effectus sur le bench CPUmark rvlent un gain de 1 2 points. C'est toujours a ! Voici les diffrentes priorits que l'on peut affecter un processus :

Bien entendu, seules les deux premires priorits (realtime et high) nous seront utiles. Ok, c'est bien beau mais comment s'y prendre ?

Modifier les proprits du raccourci sur le bureau


Clic droit sur le raccourci Proprits / Cible : ajouter devant l'adresse de la cible l'instruction cmd /c start /high

Mthode de modification de la priorit


Par dfaut la plupart des applications charges en mmoire sont dfinies 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 tches lorsque l'application que l'on souhaite acclrer est dj en cours d'utilisation. Il suffit de suivre cette procdure : Faites un clic droit sur un emplacement vide de la barre des tches.

Cliquez sur "Gestionnaire des tches" 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 slectionn automatiquement. Choisissez Dfinir "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 trs diffrente de celle de Windows XP).

/!\Attention: changer la priorit d'une application peut engendrer des instabilits du systme. En effet, si l'application lance en priorit high ou realtime est gourmande en CPU, les processus d'arrire plan n'auront que trs peu de temps CPU allou/!\ En fait, le mode realtime va allouer en premier sur le CPU chaque action demande 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 bloques, seule celle en realtime fonctionne. (Ce qui explique votre MSN dconnect aprs l'enregistrement ou autres problmes.) Il est donc dconseill 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: Droulez le menu Dmarrer > Excuter et tapez cmd et validez. Sous Windows Vista: Droulez le menu Dmarrer > tapez cmd dans la barre de recherche, puis faites un clic droit sur "cmd" dans les rsultats de recherche et choisissez "Excuter 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 infrieure la normale START /NORMAL chemin_de_l'application : en priorit normale START /ABOVENORMAL chemin_de_l'application : en priorit suprieure la normale START /HIGH chemin_de_l'application : en haute priorit START /REALTIME chemin_de_l'application : en temps rel 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 extrmits 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 interprte comme le titre de la fentre a afficher et affichera une nouvelle fentre commande. Il faut donc tromper l'interprteur et utiliser cette syntaxe :
START "" /HIGH "chemin et/ou nom avec des espaces"

Afin de simplifier le tout, nous allons crer un fichier batch (fichier de commande avec extension .bat) : il suffit de crer 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 mme rpertoire 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 excutables une option pour lancer un processus en un niveau de priorit diffrent de la normale. Pour cela, une modification de registre est ncessaire. Comme d'habitude, et pour votre intrt, il est prfrable de sauvegarder votre base de registre. Ouvrez l'diteur de registre. Dans l'arborescence, ouvrez successivement les cls suivantes: HKEY_CLASSES_ROOT\exefile\shell Dans la fentre 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 dernire nouvelle cl, faites un double clic sur la valeur "(par dfaut)", et entrez ceci :
c:\windows\System32\cmd.exe /c start "runhigh" /high "%1

Il faut remplacer c:\Windows par le rpertoire o le systme est install. Validez et fermez la fentre de l'diteur de registre.

Voici le rsultat :

Vous pouvez refaire la mme manip pour les autres niveaux, il suffit de prendre l'une de ces donnes de la valeur "(par dfaut)": Pour une basse priorit:
c:\windows\System32\cmd.exe /c start "runlow" /low "%1

Pour une priorit infrieure la normale:


c:\windows\System32\cmd.exe /c start "runbelownormal" /belownormal "%1

Pour une priorit suprieure 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 rel:

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

Si tu veux que tous les fichiers d'un certain type soient ouverts avec un logiciel dont la priorit sera rgle un certain niveau, il suffit alors d'INCLURE la commande START dans la ligne de commande correspondante inscrite dans la BDR! Exemple : Les fichiers .WMV, ouverts avec WMP La clef concerne est : HKCR\WMP11.AssocFile.WMV\shell\open\command Valeur par dfaut : "%ProgramFiles%\Windows Media Player\wmplayer.exe" /prefetch:7 /Open "%L" Il suffit de remplacer cette valeur par : cmd /c start /belownormal "%ProgramFiles%\Windows Media Player\wmplayer.exe" /prefetch:7 /Open "%L" NB: j'ai crit "cmd /c start ..." et non pas directement "start ..." parce que "start" est une commande INTERNE de CMD, et non pas une commande autonome (il n'existe pas de "start.exe"). Le commutateur "/c" sert fermer immdiatement la fentre de commandes qui s'ouvre avec CMD, ds que la commande dsire est lance. (ici wmplayer)

Optimisation de Windows XP
[modifier] Optimiser le dmarrage de Windows Trouvez la cl "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters" Si la valeur DWORD EnablePrefetcher n'existe pas, crez-la et donnez lui la valeur 3 Si cette valeur existe dj, donnez lui la valeur 3 Cette valeur peut tre : 3 : l'optimisation va se faire sur le dmarrage de Windows et les applications 2 : l'optimisation va se faire uniquement sur le dmarrage de Windows 1 : l'optimisation va se faire uniquement sur les applications [modifier] Optimiser l'arrt de Windows Lorsque vous voulez teindre le PC, il est possible qu'un programme ne puisse pas tre arrt car il est plant. Windows vous demande alors ce qu'il doit faire et ne s'arrte pas automatiquement. Cette astuce stoppe tous les programmes lors de la fermeture. Allez dans la base de registre et cherchez la clef suivante : HKEY_CURRENT_USER\Control Panel\Desktop Crez la Valeur Chane AutoEndTasks (si elle ne figure pas dans la fentre de gauche...) et mettez la valeur 1. Supprimer le sons d'arrt windows (panneau de config - > Sons...) Allez dans "Dmarrer/Excuter et tapez "regedit" et cherchez la clef suivante : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer Ensuite il suffit de modifier la Valeur Chane "AlwaysUnloadDLL" et d'y affecter la valeur "1". Cherchez la clef suivante : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control Ensuite il suffit de modifier la Valeur Chane "WaitToKillServiceTimeout" et d'y affecter la valeur "10000". Pour diminuer le temps d'attente avant que Windows vous annonce que l'application xxx ne rpond plus : [HKEY_CURRENT_USER\Control Panel\Desktop] Cliquez-droit sur la cl WaitToKillAppTimeout et choisissez Modifier puis changez la valeur inscrite en "1". Par dfaut cette valeur est 20000. Vous pouvez sans soucis mettre 1000 (1 seconde), puis si vous le souhaitez, baissez cette valeur par pas de 50, jusqu'a l'apparition d' un message d' erreur (cela dpend de la puissance de votre configuration). Ouvrez : HKEY_CURRENT_USER\Control Panel\Desktop Dans le panneau de droite, faites un clic droit sur la valeur : HungAppTimeout. Choisissez " Modifier " et changez la valeur inscrite en inscrivant "1000" (par dfaut 5000). Cela diminuera le temps d'attente avant que Windows vous annonce que l'application bloque ne rpond plus. [modifier] Optimiser le disque dur Aller dans le rpertoire HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager\MemoryM anagement\ de la base de registre.

Dans le panneau de droite, crez une valeur DWORD nomme LargeSystemCache. Faites un double-clic pour lui donner la valeur 1 (hexadcimal) et enfin redmarrez. Remarque : cette valeur existe dja parfois. Forcer l'utilisation de la Ram Windows n'est pas optimis pour la gestion de la mmoire Ram,ce qui a pour consquence une abusive utilisation, du fichier d'change,un ralentissement du systme et une dfragmentation accrue du disque dur. Si vous avez , au moins , 64 MO de Ram , vous pouvez , forcer Windows utiliser votre Ram , avant de se servir du fichier d'change. Pour ce faire , allez dans : Dmarrer, executer, taper: sysedit Vous obtiendrez, 4 fenetres superposes Fermez les 3 premires, jusqu'a arriver a celle intitule: C:\WINDOWS\SYSTEM.INI Reprer la valeur [386 Enh], et ajoutez a la suite , la ligne suivante: ConservativeSwapfileUsage=1 Puis enregistrer votre changement et quitter, le tour est jou.

Ressource system L'astuce qui suit ne doit tre utilise qu'en cas de ncessit, par exemple quand votre systme ralentit anormalement.

Augmenter la ressource systme.


Bon je ne rentre pas dans la bataille quant savoir quelle taille doit avoir la mmoire virtuelle (swap). En gnral elle varie entre 1,5 et 2,5 fois la mmoire ram; elle peut-tre plus haute encore ou PLUS BASSE. Encore une fois, ce n'est pas une valeur absolue, car elle varie en fonction de la demande des programmes. DONC FAITES DES TESTS ET MESUREZ LES POINTES MINI ET MAXI DU SWAP!!!!!! C'est en fonction de ce que vous faites...et des programmes que vous utilisez Le MIEUX tant de LAISSER WINDOWS XP GERER SEUL LE SWAP!!!!!! XP N'EST PAS NT ! A la limite, si vous avez deux disques durs diffrents (physique) ayant une vitesse comparable, vous pouvez dplacer le SWAP sur le second disque. Le systme dexploitation tant toujours sur le disque dur le plus rapide. Si le deuxime disque dur est plus lent, ne dplacez pas le SWAP. Le point tant fait, passons ce qui complte la configuration du swap (fichier d'change ou mmoire virtuelle) On lance une application, puis 2, 3,... Tout coup Windows vous prvient que la ressource systme est insuffisante ou alors il ralentit sans raison ! Et mme si vous avez une grande quantit de mmoire. Rsultat : redmarrage obligatoire. Il est possible d'augmenter la taille de la mmoire ressource systme, sur les parties GDI et USER, que Windows attribue par dfaut. Pour ce faire, il vous suffit de suivre la procdure : - GDI : Ouvrez Dmarrer, Excuter et tapez Win.ini afin de pouvoir le modifier. Allez la ligne [Windows], tapez la ligne suivante : GDIMaxHeapSize=4096 vous attribuez ainsi 4 Mo de mmoire. Pour rappel, 1024 Ko = 1 Mo. Si elle nexiste pas crez la. - USER :

Retournez dans le menu Dmarrer puis cliquez sur excuter. Ecrivez regedit et validez afin de pouvoir diter la base des registres. Allez la ligne HKEY_CURRENT_USER et double cliquez dessus. Double cliquez sur Control Panel puis sur Desktop. Si la valeur chane UserMaxHeapSize n'existe pas, crez la (clic droit sur Desktop / Nouveau / Valeur chane et tapez UserMaxHeapSize). Donnez lui la valeur 4096 ce qui correspond galement 4 Mo. Selon la quantit de mmoire RAM dont vous disposez, vous tes libre d'en attribuer plus ou moins. Maintenant votre systme se porte (supporte) mieux...