Sur Windows, les processus ont des priorités d’exécution qui permettent de définir les accès aux ressources systèmes (processeur, mémoire, etc).
Par défaut, un processus est exécuté avec une priorité normal.
Il est tout à fait possible de modifier la priorité d’un processus avec ces différents niveaux :
- Temps réel
- Haute
- Supérieure à la normale
- Normal
- Inférieure à la normale
- Basse
Cela peut-être utile lorsque plusieurs applications sont en cours d’exécution.
Par exemple, vous lancez un encodage vidéo et souhaitez surfer en même temps.
Vous pouvez passer l’application vidéo en basse afin que le surf ne soit pas saccadé ou freez.
Dans cet article, vous verrez comment changer et définir la priorité d’un processus sur Windows 7, 8.1 ou 10.
Table des matières
Introduction
L’utilisation du temps réel nécessite un accès administrateur.
Il n’est pas conseillé de passer un jeu en priorité temps réel car le reste du système risque de ne pas avoir accès de ressources pour fonctionner.
Cela peut alors causer des freez et blocages général de Windows.
Changer la priorité d’un processus sur Windows 7, 8.1 ou 10
Depuis le gestionnaire de tâches
Le gestionnaire de tâches de Windows permet de gérer les processus.
Parmi les options possibles, vous pouvez changer la priorité d’un processus.
Pour se faire, ouvrez le gestionnaire de tâches de Windows, pour plus d’informations lire notre article : Le gestionnaire de tâches de Windows
Cliquez sur l’onglet Détails.
Sur le processus souhaité, faites un clic droit puis Définir la priorité.
Vous pouvez alors sélectionner la priorité du processus.
Un clic droit sur a colonne puis sélectionner les colonnes permet d’ajouter une colonne pour afficher les priorités des processus.
En ligne de commandes
Il est tout à fait possible de modifier la priorité d’un processus en ligne de commandes.
Cela peut se faire depuis l’invite de commandes ou avec PowerShell.
Le choix du niveau du priorité peut se faire par le nom ou la valeur en chiffre.
Invite de commandes
Il faut utiliser la commande wmic avec la syntaxe suivante :
wmic process where name="processus.exe" CALL setpriority "niveau priorité en lettre"
ou
wmic process where name="processus.exe" CALL setpriority Niveau de priorité en chiffre
Les niveaux priorités soit par le nom ou en chiffre :
- real time: 256
- high priority: 128
- above normal: 32768
- normal: 32
- below normal : 16384
- idle : 64
Powershell
Enfin la syntaxe pour changer la priorité d’un processus en powershell :
Get-WmiObject Win32_process -filter 'name = "processus.exe"' | foreach-object { $_.SetPriority(XXXXX) }
- Remplacer processus.exe par le nom de votre processus.
- XXXX par la valeur de la priorité à assigner.
Le niveau en chiffre reprend celui de l’invite de commandes.
Utilitaires pour définir la priorité
Comme vous pouvez le constater pour changer la priorité, il faut que le processus soit démarrer.
Il est assez difficile de pouvoir lancer un processus avec la priorité souhaité.
Toutefois, cela est possible avec la commande start :
start /b /wait powershell.exe -command "processus.exe;$prog = Get-Process -Name calc;$prog.PriorityClass = [System.Diagnostics.ProcessPriorityClass]::NIVEAU PRIORITE EN LETTRE"
Pour faciliter les choses, il existe des logiciels dont notamment ProcessTamer.
Les processus en cours d’exécution s’affichent en liste.
La colonne Explicit Rules permet d’appliquer une règle de priorité.
Lorsque ce processus est exécuté, la priorité lui sera alors assigné.
Liens
Quelques autres liens autour des services Windows.
- Le Moniteur Ressources Système de Windows
- Gestionnaire de tâches : gérer les processus Windows
- Comment optimiser vous même votre ordinateur ?
- Maitriser les programmes au démarrage
- Comment arrêter un programme qui ne répond pas avec le gestionnaire de tâches de Windows
- Forcer la fermeture d’un programme sur Windows (10, 8, 7)