Mark Russinovich & Windows Internals : Observabilité et Fiabilité
Découvrez comment la mentalité Windows Internals de Mark Russinovich a façonné Sysinternals, les workflows WinDbg et l’observabilité pratique pour le débogage et la fiabilité sur Windows.

Pourquoi Mark Russinovich compte encore pour les opérations Windows
Si vous exécutez Windows en production — sur portables, serveurs, VDI ou machines virtuelles cloud — le travail de Mark Russinovich continue d’apparaître dans les opérations quotidiennes. Pas par réputation ou nostalgie, mais parce qu’il a popularisé une approche du dépannage fondée sur les preuves : regardez ce que l’OS fait réellement, puis expliquez les symptômes avec des preuves.
Trois idées en clair
Observabilité signifie que vous pouvez répondre à « que se passe-t-il maintenant ? » à partir des signaux produits par le système (événements, traces, compteurs). Quand un service ralentit ou que les connexions d’ouverture de session bloquent, l’observabilité fait la différence entre deviner et savoir.
Débogage consiste à transformer un problème vague (« ça a gelé ») en un mécanisme précis (« ce thread est bloqué sur de l’I/O », « ce processus fait thrash du fichier d’échange », « cette injection de DLL a changé le comportement »).
Fiabilité est la capacité à continuer de fonctionner sous contrainte et à récupérer de manière prévisible — moins d’incidents, rétablissements plus rapides et changements plus sûrs.
Pourquoi la connaissance des internals accélère les incidents
La plupart des « pannes mystérieuses » ne sont pas des mystères : ce sont des comportements Windows que vous n’avez pas encore cartographiés : fuites de handles, processus enfants incontrôlés, pilotes bloqués, timeouts DNS, entrées d’auto-démarrage cassées, ou outils de sécurité qui ajoutent de la latence. Une compréhension basique des internals Windows (processus, threads, handles, services, mémoire, I/O) vous aide à reconnaître rapidement des motifs et à collecter les bonnes preuves avant que le problème ne disparaisse.
Ce que cet article va vous aider à faire
Nous allons nous concentrer sur des workflows pratiques et adaptés aux opérations en utilisant :
- les outils Sysinternals (en particulier Process Explorer et Process Monitor) pour une visibilité rapide et peu contraignante
- le traçage ETW quand les logs ne suffisent pas et que vous avez besoin d’une timeline haute fidélité
- WinDbg et les dumps de crash/gel pour convertir des échecs en causes racines exploitables
L’objectif n’est pas de faire de vous un ingénieur kernel. C’est de rendre les incidents Windows plus courts, plus calmes et plus faciles à expliquer — pour que les corrections soient plus sûres et reproductibles.
Windows Internals comme super-pouvoir de dépannage
Les “internals” Windows sont simplement l’ensemble des mécanismes que Windows utilise pour faire du travail réel : ordonnancer les threads, gérer la mémoire, démarrer les services, charger les pilotes, gérer les activités de fichiers et de registre, et appliquer les frontières de sécurité. La promesse pratique est simple : quand vous comprenez ce que l’OS fait, vous arrêtez de deviner et vous commencez à expliquer.
C’est important parce que la plupart des symptômes opérationnels sont indirects. « La machine est lente » peut être une contention CPU, un seul thread chaud, une tempête d’interruptions de pilote, une pression de pagination, ou un filtre antivirus bloquant l’I/O. « Elle gèle » peut être un deadlock, un appel réseau bloqué, un timeout de stockage, ou un service qui attend une dépendance. La connaissance des internals transforme des plaintes vagues en hypothèses testables.
Espace utilisateur vs. espace noyau (juste ce qu’il faut)
À un niveau élevé, l’espace utilisateur est là où s’exécutent la plupart des apps et services. Quand elles plantent, elles prennent généralement seulement elles-mêmes. L’espace noyau est là où Windows lui‑même et les pilotes s’exécutent ; les problèmes à ce niveau peuvent figer tout le système, déclencher un bugcheck (écran bleu) ou dégrader silencieusement la fiabilité.
Vous n’avez pas besoin de théorie profonde pour utiliser cette distinction — juste assez pour choisir les preuves. Une application qui consomme le CPU tourne souvent en espace utilisateur ; des réinitialisations de stockage répétées ou des problèmes de pilote réseau pointent souvent vers l’espace noyau.
Dépannage fondé sur les preuves
L’état d’esprit de Russinovich — reflété dans des outils comme Sysinternals et dans Windows Internals — est « preuve d’abord ». Avant de changer des paramètres, redémarrer aveuglément ou réinstaller, capturez ce que fait le système : quel processus, quel thread, quel handle, quelle clé de registre, quelle connexion réseau, quel pilote, quel événement.
Une fois que vous pouvez répondre à « que fait Windows maintenant, et pourquoi », les correctifs deviennent plus petits, plus sûrs et plus faciles à justifier — et le travail de fiabilité cesse d’être du pompier réactif.
L’approche Sysinternals : rendre l’invisible visible
Sysinternals se comprend mieux comme une « boîte à outils de visibilité » pour Windows : des utilitaires petits et portables qui révèlent ce que le système fait réellement — processus par processus, handle par handle, clé de registre par clé de registre. Plutôt que de traiter Windows comme une boîte noire, Sysinternals vous permet d’observer le comportement derrière des symptômes comme « l’application est lente », « le CPU est élevé » ou « le serveur perd des connexions ».
Faire confiance mais vérifier : ne pas deviner, mesurer
Beaucoup de douleur opérationnelle vient de suppositions plausibles : c’est sûrement le DNS, c’est probablement l’antivirus, Windows Update est encore bloqué. L’état d’esprit Sysinternals est simple : fiez-vous à vos instincts pour formuler une hypothèse, puis vérifiez-la avec des preuves.
Quand vous pouvez voir quel processus consomme le CPU, quel thread attend, quel chemin de fichier est martelé, ou quelle valeur de registre est réécrite, vous cessez de débattre des opinions et vous commencez à réduire les causes. Ce basculement — du récit à la mesure — rend la connaissance des internals pratique, pas académique.
Pourquoi Sysinternals brille pendant les incidents en direct
Ces outils sont conçus pour le moment « tout brûle » :
- Peu de friction : beaucoup d’outils s’exécutent sans installation et démarrent rapidement.
- Retour rapide : vous pouvez valider ou rejeter une théorie en quelques minutes.
- Visibilité ciblée : chaque utilitaire répond à une classe de questions (processus, éléments de démarrage, points réseau, usage mémoire).
C’est précieux quand vous ne pouvez pas vous permettre un long cycle d’installation, un déploiement d’agent lourd ou un redémarrage juste pour collecter de meilleures données.
Principes d’utilisation sûre
Sysinternals est puissant, et le pouvoir mérite des garde‑fous :
- Exécutez au besoin : commencez par l’observation en lecture seule ; élevez les privilèges seulement si nécessaire.
- Documentez vos actions : enregistrez horodatages, filtres et actions prises pour que les conclusions soient reproductibles.
- Minimisez les perturbations : préférez capturer des preuves (captures d’écran, logs, traces exportées) plutôt que d’« essayer des corrections » en plein incident.
- Changez avec précaution : si vous devez modifier un paramètre ou tuer un processus, notez la raison et l’effet attendu, puis vérifiez le résultat.
Utilisé ainsi, Sysinternals devient une méthode disciplinée : observez l’invisible, mesurez la vérité et effectuez des changements justifiés, pas optimistes.
Process Explorer & Process Monitor : le duo de débogage du quotidien
Si vous ne gardez que deux outils Sysinternals dans votre trousse d’admin, que ce soit Process Explorer et Process Monitor. Ensemble, ils répondent aux questions les plus courantes « que fait Windows maintenant ? » sans agent, redémarrage ni configuration lourde.
Process Explorer : des réponses rapides en quelques secondes
Process Explorer, c’est le Gestionnaire des tâches avec vision X‑ray. Quand une machine est lente ou instable, il vous aide à cibler quel processus est responsable et à quoi il est lié.
Il est particulièrement utile pour :
- CPU et threads : quel processus consomme du CPU, et est‑ce un thread chaud ou plusieurs ?
- Relations parent/enfant : qu’est‑ce qui a lancé le processus (service, tâche planifiée, mise à jour, action utilisateur) ?
- DLLs et handles : quels modules sont chargés, et quels fichiers/clés/pipes le processus garde ouverts ?
Ce dernier point est un super‑pouvoir de fiabilité : « pourquoi je ne peux pas supprimer ce fichier ? » devient souvent « ce service a un handle ouvert dessus ».
Process Monitor : la piste complète d’activité
Process Monitor (Procmon) capture des événements détaillés sur le système de fichiers, le registre et l’activité process/thread. C’est l’outil pour des questions comme : « que s’est‑il passé quand l’app a gelé ? » ou « qu’est‑ce qui martèle le disque toutes les 10 minutes ? »
Avant d’appuyer sur Capture, formulez la question :
- Quel est le symptôme (logon lent, disque élevé, crash, accès refusé) ?
- Quand survient‑il (au démarrage, à 09:00, après la mise en veille) ?
- Quelle machine et quel contexte utilisateur (un seul serveur, un seul profil, seulement sur VPN) ?
Capturez seulement ce dont vous avez besoin (le bruit est l’ennemi)
Procmon peut vous submerger à moins de filtrer agressivement. Commencez par :
- Filtrer sur un Process Name ou un PID spécifique.
- Utiliser des règles Include pour le chemin qui vous intéresse (ex. dossier de config) et exclure le reste.
- Capturer pendant une courte fenêtre autour du symptôme, puis arrêter.
Ce que vous en retirez
Les résultats courants sont très pratiques : identifier un service malveillant qui interroge sans cesse une clé de registre manquante, repérer un scan « temps réel » qui touche des milliers de fichiers, ou trouver une tentative de chargement de DLL manquante (« NAME NOT FOUND ») qui explique pourquoi une app ne démarre que sur une machine.
FAQ
Pourquoi Mark Russinovich est-il encore important pour les opérations Windows aujourd’hui ?
Mark Russinovich a popularisé une approche « preuve d’abord » pour le dépannage Windows et a diffusé (et influencé) des outils qui rendent le système réellement observable.
Même si vous n’avez jamais lu Windows Internals, vous utilisez probablement des workflows façonnés par Sysinternals, ETW et l’analyse de dumps pour raccourcir les incidents et rendre les correctifs reproductibles.
Que signifie « observabilité » dans le contexte des opérations Windows ?
L’observabilité, c’est votre capacité à répondre à « que se passe-t-il maintenant ? » à partir des signaux système.
Sur Windows, cela signifie généralement combiner :
- les journaux d’événements pour les événements discrets système/app
- les métriques (compteurs Perf) pour mesurer l’impact et la saturation
- les traces (ETW) pour la causalité et des timelines haute fidélité
Comment la connaissance des internals Windows réduit-elle le temps moyen de résolution (MTTR) ?
La connaissance des internals permet de transformer des symptômes vagues en hypothèses testables.
Par exemple, « le serveur est lent » devient un petit nombre de mécanismes à valider : contention CPU vs pression de pagination vs latence I/O vs surcharge de pilotes/filters. Cela accélère le triage et vous aide à collecter les bonnes preuves avant que le problème ne disparaisse.
Quand devrais-je utiliser Process Explorer plutôt que le Gestionnaire des tâches ?
Utilisez Process Explorer quand vous devez identifier qui est responsable.
Il est particulièrement utile pour :
- savoir quel processus consomme CPU/mémoire
- relations parent/enfant (qui a lancé quoi)
- hotspots et attentes au niveau des threads
- quelles DLLs/manipulateurs (handles) le processus maintient ouverts
Quels problèmes Process Monitor (Procmon) résout-il le mieux ?
Process Monitor sert quand vous avez besoin de la piste d’activité sur le système de fichiers, le registre et les opérations process/thread.
Exemples concrets :
- trouver des échecs de dépendance “NAME NOT FOUND” qui empêchent un démarrage d’app
- prouver qu’un accès refusé est un problème de permission/chemin (pas « l’app est plantée »)
- identifier un martèlement périodique du disque et le chemin exact touché
Comment éviter le bruit de Procmon tout en obtenant des preuves utiles ?
Filtrez agressivement et capturez uniquement la fenêtre de défaillance.
Flux de travail conseillé :
- filtrez d’abord par Process Name ou PID
- ajoutez des règles Include pour des chemins/clefs spécifiques
- capturez pendant 30–120 secondes autour du symptôme puis arrêtez
Une trace petite et analysable vaut mieux qu’une énorme capture que personne n’ouvrira.
En quoi Autoruns aide-t-il pour la fiabilité et les problèmes de démarrage/logon ?
Autoruns répond à « qu’est-ce qui se lance automatiquement ? » — services, tâches planifiées, extensions shell, pilotes, etc.
Utile pour :
- démarrages/logons lents
- pics CPU intermittents après connexion
- processus d’arrière-plan mystérieux
Concentrez-vous d’abord sur les entrées non signées, récemment ajoutées ou qui échouent à se charger, et désactivez-les une par une en prenant des notes.
Quand devrais-je passer des logs/metrics au tracing ETW ?
ETW (Event Tracing for Windows) est l’enregistreur de vol intégré de Windows : événements structurés, haute fréquence, depuis le noyau, les pilotes et les services.
Passez aux traces ETW quand les journaux et les métriques indiquent qu’un problème existe mais pas pourquoi — par exemple des blocages dus à la latence I/O, des retards d’ordonnancement, le comportement d’un pilote ou des timeout de dépendances. Gardez les captures courtes, ciblées et corrélées temporellement avec le symptôme.
Comment Sysmon peut-il améliorer les enquêtes de fiabilité (et pas seulement la sécurité) ?
Sysmon ajoute de la télémétrie riche en contexte (processus parent/enfant, lignes de commande, hashes, chargements de pilotes) qui aide à répondre à « qu’est-ce qui a changé ? »
Pour la fiabilité, il sert à confirmer :
- nouveaux processus d’assistance ou tâches planifiées apparaissant avant des pics
- chargements de pilotes corrélés à des nouveaux blocages/bugchecks
- modifications inattendues de binaires/chemins après un cycle de patch
Commencez par une configuration minimale et affinez les règles d’inclusion/exclusion pour contrôler le volume d’événements et le coût.
Quelle est la différence pratique entre enquêter sur un crash, un BSOD et un hang avec WinDbg ?
Un dump est souvent l’artefact le plus précieux pour crashes et hangs car il capture l’état d’exécution au moment de la défaillance.
- Crashes d’applis : capturez des dumps user-mode ; analysez les codes d’exception et les stacks.
- BSODs : capturez des dumps noyau ; concentrez-vous sur les pilotes et l’état du noyau.
- Hangs : capturez un dump pendant que l’app est bloquée ; inspectez les stacks de threads, les motifs d’attente et la contention de verrous.
WinDbg transforme les dumps en réponses, mais des symboles corrects sont essentiels pour que les stacks et l’identification des modules aient du sens.