Objectif
Identifier le véritable goulot d’étranglement d’un ordinateur Windows lent en séparant CPU, mémoire, stockage, réseau et application, puis appliquer une correction ciblée et mesurable au lieu d’accumuler des optimisations non prouvées.
Prérequis
- Description précise du symptôme et heure approximative.
- Accès administrateur ou au moins capacité à consulter Task Manager/Resource Monitor.
- Espace disponible pour un journal PerfMon si une collecte longue est nécessaire.
- Connaissance des logiciels de sécurité et applications critiques installés.
- Possibilité de comparer avec un poste sain si le problème touche un modèle ou une application.
Procédure pas à pas
Qualifier le ralentissement
Demandez quand le poste est lent : au démarrage, ouverture de session, lancement d’une application, navigation, copie de fichiers ou en permanence. Notez depuis quand, si le problème est reproductible et ce qui a changé récemment. Une lenteur générale permanente ne se diagnostique pas comme un blocage de 30 secondes après la connexion.
Get-CimInstance Win32_OperatingSystem | Select Caption,Version,BuildNumber,LastBootUpTime
Get-CimInstance Win32_ComputerSystem | Select Manufacturer,Model,TotalPhysicalMemory
- Le symptôme possède une fenêtre de reproduction et un contexte matériel/OS.
Contrôler espace disque et santé de base
Un C: presque plein peut ralentir Windows Update, le fichier d’échange et les applications. Vérifiez l’espace libre avant toute analyse avancée. Contrôlez aussi l’état signalé par Windows pour les disques, sans considérer un statut Healthy comme un test matériel exhaustif. Si l’espace est critique, appliquez d’abord la procédure de disque saturé.
Get-Volume | Select DriveLetter,FileSystemLabel,Size,SizeRemaining,HealthStatus
Get-PhysicalDisk -ErrorAction SilentlyContinue | Select FriendlyName,MediaType,HealthStatus,OperationalStatus
- Le poste dispose d’une marge disque suffisante pour être diagnostiqué normalement.
Observer CPU, mémoire et disque pendant le symptôme
Ouvrez Task Manager ou Resource Monitor au moment exact du ralentissement. Triez par CPU, mémoire et disque. Cherchez un processus qui reste en tête pendant toute la durée du symptôme plutôt qu’un pic ponctuel. Sur la mémoire, observez aussi la mémoire disponible et la pagination ; sur le stockage, distinguez débit et latence.
resmon.exe
Get-Process | Sort CPU -Descending | Select -First 15 Name,Id,CPU,WorkingSet64
- Un ou plusieurs consommateurs sont corrélés au ralentissement, ou aucun processus évident n’est identifié.
Contrôler les processus de démarrage et tâches récurrentes
Si le problème survient après ouverture de session, inventoriez les applications de démarrage, services et tâches qui se déclenchent à cette heure. Les synchronisations OneDrive, mises à jour, scans de sécurité et agents métiers peuvent être légitimes mais simultanés. Désactivez uniquement un composant non critique dans un test réversible et mesurez la différence.
Get-CimInstance Win32_StartupCommand | Select Name,Command,Location,User
Get-ScheduledTask | Where-Object State -ne 'Disabled' | Select TaskPath,TaskName,State | Select -First 50
- Les charges automatiques correspondant à la fenêtre de lenteur sont identifiées.
Vérifier Windows Update et besoin de redémarrage
Un poste qui termine une mise à jour, compile des composants ou attend un redémarrage peut consommer CPU et disque. Consultez l’historique Update et les événements avant de tuer TiWorker, TrustedInstaller ou des processus de maintenance. Un redémarrage planifié peut être la bonne action s’il est justifié, mais documentez l’état avant.
Get-Service wuauserv,bits | Select Name,Status,StartType
Get-HotFix | Sort InstalledOn -Descending | Select -First 10
- La maintenance Windows est classée comme cause possible ou écartée.
Mesurer les compteurs de performance
Si la cause n’est pas évidente, utilisez Performance Monitor. Les compteurs CPU, mémoire et disque permettent de distinguer une saturation persistante. Pour une collecte courte, Get-Counter donne un aperçu ; pour un incident intermittent, utilisez un Data Collector Set ou logman afin d’avoir des données au moment réel du problème.
Get-Counter 'Processor(_Total)% Processor Time','MemoryAvailable MBytes','PhysicalDisk(_Total)Avg. Disk sec/Transfer' -SampleInterval 2 -MaxSamples 15
- Les ressources sont mesurées pendant le symptôme au lieu d’être estimées.
Créer une collecte PerfMon pour un problème intermittent
Pour un ralentissement qui apparaît rarement, créez un jeu de collecte léger avec CPU, mémoire, disque et processus. Microsoft recommande Performance Monitor comme outil intégré pour enregistrer ces métriques. Adaptez l’intervalle et la taille maximale à la durée ; arrêtez la collecte après reproduction afin d’éviter un fichier inutilement volumineux.
logman create counter BOAI_Perf -f bin -v mmddhhmm -max 1024 -c "Processor(*)*" "Memory*" "PhysicalDisk(*)*" "Process(*)*" -si 00:00:05
logman start BOAI_Perf
logman stop BOAI_Perf
- Un fichier BLG couvre la période où le ralentissement s’est réellement produit.
Vérifier les journaux et la fiabilité
Consultez System et Application autour de l’heure exacte : erreurs disque, WHEA, driver, service, application ou timeout. Reliability Monitor peut aussi aider à corréler crashs et mises à jour. Ne supposez pas qu’un événement Warning sans lien temporel est la cause. Recherchez une répétition alignée avec le symptôme.
perfmon /rel
Get-WinEvent -FilterHashtable @{LogName='System';StartTime=(Get-Date).AddHours(-2)} -ErrorAction SilentlyContinue | Where-Object LevelDisplayName -in 'Error','Critical' | Select -First 30 TimeCreated,Id,ProviderName,Message
- Les erreurs pertinentes sont corrélées à l’heure du ralentissement.
Corriger une cause à la fois et mesurer
Appliquez la correction correspondant au goulot : libérer/étendre le disque, mettre à jour un driver problématique, corriger une application, ajuster une tâche ou dimensionner RAM/stockage. Reproduisez ensuite le même scénario et comparez temps d’ouverture et compteurs. Si aucune amélioration mesurable n’apparaît, annulez la modification et poursuivez l’analyse.
- Le temps de réponse et les compteurs s’améliorent de façon mesurable après la correction.
Validation
La procédure est validée lorsque :
- Le ralentissement est reproductible ou une collecte couvre sa période.
- Le goulot CPU, mémoire, stockage, réseau ou application est identifié.
- La correction améliore un indicateur mesuré, pas seulement une impression.
- Aucun service de sécurité critique n’a été désactivé durablement.
Retour arrière
- Réactiver tout service ou démarrage désactivé pour un test si aucun gain n’a été mesuré.
- Restaurer le driver ou la version applicative précédente si la mise à jour aggrave le comportement.
- Supprimer le Data Collector Set après collecte si vous ne souhaitez pas le conserver.
- Conserver les logs avant de redémarrer si le problème réapparaît.
Dépannage / erreurs fréquentes
- CPU élevé sans processus évident : examiner System, DPC/interruptions et drivers avec des outils plus avancés.
- Disque 100 % mais faible débit : analyser la latence et la file d’attente, pas seulement le pourcentage Task Manager.
- RAM disponible très faible : identifier working sets, fuites ou sous-dimensionnement avant d’augmenter le pagefile.
- Lenteur uniquement sur une application : concentrer l’analyse sur ses dépendances réseau, base, DNS et antivirus.
- Le reboot résout temporairement : mettre en place une collecte longue plutôt que planifier des redémarrages réguliers.