Partager via


[Archives des newsletters ^] [< Volume 4, Numéro 1] [Volume 4, Numéro 3 >]

Bulletin d’information System Internals Volume 4, Numéro 2

http://www.sysinternals.com
Copyright (C) 2002 Mark Russinovich


12 août - Dans ce numéro :

  1. ÉDITORIAL

  2. NOUVEAUTÉS DE SYSINTERNALS

    • TCPView v2.21
    • LiveKd v2.0
    • PsInfo v1.33|
    • PsList v1.21
    • BgInfo v3.0
    • PageDefrag v2.2
    • Regmon v4.34 pour Win64/Itanium
    • Sysinternals dans PC World Magazine
    • Sysinternals chez Microsoft
  3. INFORMATIONS INTERNES

    • Mark et David Solomon enseignent les éléments internes à Londres
    • Inside Windows NT Development
    • Quand une modification ne compte pas
    • RC1 Serveur .NET
    • Chargements de scripts WMI
    • Utilisation de Bootvis pour profiler le processus de démarrage
  4. NOUVEAUTÉS À VENIR

    • Présentation rapide de l’analyse du vidage sur incident

SPONSOR : WINTERNALS SOFTWARE

Le bulletin Sysinternals est parrainé par Winternals Software, sur le Web à l’adresse http://www.winternals.com. Winternals Software est le principal développeur et fournisseur d’outils de systèmes avancés pour Windows NT/2K/XP. Les produits Winternals Software incluent FAT32 pour Windows NT 4.0, NTFSDOS Professional Edition (un pilote NTFS en lecture/écriture pour DOS) et la Remote Recover. Winternals est fier d’annoncer Defrag Manager version 2.0, le défragmenteur d’entreprise le plus rapide et le plus complet disponible. Vous pouvez désormais gérer les planifications de défragmentation dans l’ensemble de votre entreprise Windows à partir d’un simple composant logiciel enfichable MMC, sans même avoir à installer des logiciels clients sur vos systèmes NT ou Windows 2000. Visitez http://www.winternals.com/es pour plus d’informations ou pour demander une version d’évaluation gratuite de 30 jours.

Bonjour,

Bienvenue dans le bulletin Sysinternals. Le bulletin compte actuellement 35 000 abonnés.

Vous avez probablement entendu parler du prochain processeur Hammer d’AMD (officiellement annoncé sous le nom d’« Opteron »), qui sera commercialisé à la fin de l’année. Avec Hammer, AMD fait passer la guerre qui l’oppose à Intel du domaine des 32 bits à celui des 64 bits. Je pense qu’Intel devrait avoir peur, et je vais vous dire pourquoi.

Itanium est l’entrée d’Intel dans l’espace 64 bits et inclut la compatibilité binaire x86 pour faciliter la migration. Itanium est sur le marché depuis près de deux ans, mais n’a pas réussi à s’imposer, même si HP-UX, Linux, Windows XP 64-bit Edition et Windows Advanced Server 64-bit Edition le prennent en charge. Selon les estimations de l’industrie, l’Itanium n’a été vendu qu’à quelques milliers d’exemplaires et je pense que l’Itanium II, sorti récemment, n’améliorera pas le taux de déploiement.

Quelles sont les raisons qui expliquent les résultats décevants de l’Itanium jusqu’à présent ? Je pense que le facteur principal est que l’Itanium et toute la stratégie 64 bits d’Intel sont basés sur une nouvelle architecture de type RISC et qu’à l’exception de la compatibilité binaire x86 qui lui a été ajoutée, l’Itanium n’est qu’un processeur 64 bits parmi les Alpha, PA-RISC, Sparc64 et PowerPC. Et bien que l’Itanium prenne en charge les applications x86 32 bits existantes, ces applications souffrent d’une dégradation significative des performances par rapport aux applications 64 bits natives. Cela signifie que vous devez vous assurer que toutes les applications que vous souhaitez exécuter avec des performances raisonnables sur l’Itanium sont portées sur 64 bits.

Hammer, quant à lui, est une évolution qui étend naturellement l’architecture x86 et le jeu d’instructions à 64 bits. Il est capable d’exécuter des applications 32 bits et des applications 64 bits côte à côte à des niveaux de performances pratiquement identiques. En outre, vous pouvez démarrer Hammer en mode 32 bits complet, ce qui en fait un système x86 standard capable d’exécuter un système d’exploitation 32 bits. Hammer prend également en charge les modes x86 16 bits et peut utiliser le code BIOS x86 standard 32 bits même lorsque vous démarrez dans un système d’exploitation 64 bits. Cela signifie que vous pouvez avoir un système de double démarrage avec un système d’exploitation 32 bits d’un côté et un système d’exploitation 64 bits de l’autre.

Je crois que l’approche d’AMD offre un énorme avantage par rapport à la direction prise par Intel avec Itanium. AMD peut commencer à vendre Hammer dès qu’il est disponible aux clients qui ne sont peut-être pas tout à fait prêts à passer aux 64 bits, ou qui n’ont qu’une seule application qui peut tirer parti d’une machine 64 bits. Les applications 32 bits peuvent tirer pleinement parti des innovations d’AMD en matière de performances, et si AMD fixe le prix de Hammer à un niveau proche de celui des CPU 32 bits, la décision d’achat pourrait s’imposer d’elle-même. Cela devrait permettre à AMD d’infiltrer le marché avec ses processeurs 64 bits à partir du bas de gamme. En revanche, l’approche haut de gamme d’Intel est une stratégie qui risque d’être beaucoup plus risquée et de prendre beaucoup plus de temps. Je pense que Hammer donne à AMD la possibilité de se faufiler et de devenir la plate-forme 64 bits de facto.

Qu’en est-il de l’avantage en termes de performances qu’Intel pourrait revendiquer pour l’architecture EPIC (Explicitly Parallel Instruction Computing) « propre » de l’Itanium par rapport à l’architecture x86-64 d’AMD ? Il va falloir attendre pour le savoir, mais AMD a jusqu’à présent donné du fil à retordre à Intel dans l’arène 32 bits. Et si l’on compare l’Itanium II aux meilleurs processeurs x86 (voir www.spec.org), on s’aperçoit qu’ils sont à peu près à égalité sur les performances entières, l’Itanium ayant une avance de 50 à 75 % en virgule flottante. Et ce, bien que l’Itanium soit environ deux fois plus cher. Par exemple, le système Itanium II bas de gamme de Hewlett Packard coûte 5865 $ et le système Hewlett Packard Pentium IV s’exécutant à 2 GHz dans une configuration équivalente ne coûte que 2385 $.

Où AMD a-t-il eu l’idée d’étendre l’architecture x86 plutôt que d’en définir une nouvelle avec la compatibilité x86 en tant que fonctionnalité ? Quand Intel est passé au monde 32 bits, il l’a fait en étendant l’architecture x86 16 bits et le jeu d’instructions pour créer une version 32 bits qui peut également exécuter des applications 16 bits. Par conséquent, les processeurs x86 32 bits peuvent exécuter des systèmes d’exploitation 16 bits et 32 bits. Cependant, Intel n’a pas utilisé cette approche avec sa stratégie 64 bits. Cela peut s’expliquer par le fait qu’au milieu des années 90, Intel a constaté que le plafond des performances du x86 approchait rapidement, compte tenu de la complexité de la conception, et a estimé qu’une nouvelle conception permettrait d’aller plus loin dans l’avenir. Aujourd’hui, Intel et AMD ont tous deux prouvé que cette hypothèse était erronée avec leurs étonnantes vitesses d’horloge x86 (Intel a fait la démonstration d’un Pentium IV fonctionnant à 4 GHz). Intel pourrait payer le prix de ce mauvais calcul.

Veuillez transmettre le bulletin d’informations à des amis que vous pensez être intéressés par son contenu.

Merci !

Mark

NOUVEAUTÉS DE SYSINTERNALS

TCPVIEW V2.21

TCPView est une application qui se trouve sur le site Sysinternals depuis plusieurs années, mais jusqu’à la récente mise à jour 2.0, elle n’était pas beaucoup plus qu’une version de l’interface utilisateur graphique de l’outil en ligne de commande Windows netstat. Cette révision majeure apporte une multitude de fonctionnalités puissantes, dont la plus significative est l’affichage sur NT 4, Windows 2000 et Windows XP du processus qui possède chaque point de terminaison TCP et UDP. Vous pouvez également afficher les données de version et le chemin exécutable d’un processus, ainsi que mettre fin aux processus non autorisés. Une fonctionnalité que vous trouverez utile si vous souhaitez empêcher une application d’utiliser un port particulier est la possibilité de fermer des connexions à la volée sans mettre fin au processus.

Dans la zone de l’interface utilisateur, la dernière version introduit l’actualisation automatique à intervalles sélectionnables et la mise en surbrillance des différences. La mise en surbrillance des différences, qui vous aide à zoomer sur l’activité à mesure qu’elle se produit, décrit la mise en surbrillance des éléments nouveaux et supprimés, un élément que j’ai repris de Process Explorer.

Téléchargez TCPView v2.21 à l’adresse
http://www.sysinternals.com/ntw2k/source/tcpview.shtml

LIVEKD V2.0

L’un des outils que David Solomon et moi avons inclus sur le CD pour notre livre Inside Windows 2000 (voir http://www.sysinternals.com/insidew2k.shtml ) est LiveKd. LiveKd est un serveur front-end pour les débogueurs de noyau Microsoft qui vous permet d’exécuter les débogueurs pour interagir avec un système actif. L’utilisation d’un débogueur pour examiner un système sans avoir à utiliser un deuxième ordinateur et une connexion de débogage série facilite l’exploration des éléments internes et peut même servir d’aide à la résolution des problèmes. La première version de LiveKd ne prend en charge que NT 4 et Windows 2000. La version 2.0 de LiveKd fonctionne sur Windows XP.

Bien que Microsoft ait suivi mon exemple et ajouté des fonctionnalités de débogage de noyau actif à Windows XP, certaines commandes de débogage ne fonctionnent pas lorsqu’elles sont exécutées sur un système en direct, c’est pourquoi j’ai pris la peine de mettre à jour LiveKd pour travailler sur Windows XP.

Un exemple est la sortie de la pile des commandes !process ou !thread. LiveKd affiche la pile complète du noyau, alors que l’utilisation de la fonction intégrée de débogage en direct de XP ne le fait pas. Un autre exemple est la commande !stacks, que vous pouvez utiliser pour voir où les threads sont en cours d’exécution et où ils ont pu commencer à s’exécuter. La commande !stacks est utile lorsque vous déboguez un problème impliquant des threads système et que vous souhaitez déterminer leur objectif. Connaître le pilote dans lequel un thread s’exécute peut être l’indice dont vous avez besoin pour résoudre un problème.

Téléchargez le correctif LiveKd v2.0 à l’adresse
http://www.sysinternals.com/insidew2k.shtml
Notez que vous aurez besoin d’une copie de LiveKd à partir du CD du livre sur lequel appliquer le correctif.

PSINFO V1.33

PsInfo, l’un des quelque douze outils qui composent la suite PsTools d’outils d’administration de Windows NT/2000/XP en ligne de commande et à distance, continue d’évoluer en fonction des réactions des utilisateurs. La version 1.33 ajoute la possibilité de répertorier les correctifs logiciels et applications installés,ainsi que de fournir des données sur l’étiquette, la taille et l’utilisation des volumes de disque d’un ordinateur.

Téléchargez PsInfo v1.33 à l’adresse
http://www.sysinternals.com/ntw2k/freeware/psinfo.shtml
Téléchargez l’intégralité de la suite PsTools à l’adresse
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

PSLIST V1.21

Si vous aimez utiliser la ligne de commande ou si vous avez déjà souhaité obtenir une liste de processus pour un ordinateur (local ou distant) avec des données d’utilisation du processeur, la dernière version de PsList, un autre membre de la suite PsTools, va vous intéresser. PsList v1.2 introduit les commutateurs de ligne de commande qui l’exécutent en mode gestionnaire des tâches dans une fenêtre de commande, avec mise à jour à un intervalle configurable et affichage de l’utilisation du processeur. Un autre nouveau commutateur utilise la mise en retrait PsList pour afficher les relations parent-enfant du processus, ce qui est parfois utile pour comprendre l’objectif des processus que vous rencontrez des difficultés à identifier.

Téléchargez PsList v1.21 à l’adresse
http://www.sysinternals.com/ntw2k/freeware/pslist.shtml
Téléchargez l’intégralité de la suite PsTools à l’adresse
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

BGINFO V3.0

La gestion de plusieurs systèmes implique généralement de faire face à la gêne liée à l’utilisation de pense-bêtes ou à l’ouverture d’utilitaires d’informations système pour déterminer les spécifications et la configuration d’un système. BgInfo est un utilitaire qui affiche les informations système standard et personnalisées que vous spécifiez directement sur le bureau, vous donnant un aperçu de toutes les données que vous considérez comme importantes.

BgInfo est déjà polyvalent, ce qui vous permet de spécifier un ensemble prédéfini de valeurs ou de demander des valeurs à partir du registre ou de fichiers. BgInfo v3.0 ajoute encore plus de fonctionnalités de personnalisation en introduisant la prise en charge des scripts Visual Basic afin que vous puissiez créer des scripts qui capturent des paramètres de configuration personnalisés et les signaler à BgInfo pour présentation.

Téléchargez BgInfo v3.0 à l’adresse
http://www.sysinternals.com/ntw2k/freeware/bginfo.shtml

PAGEDEFRAG V2.2

Avez-vous constaté que votre fichier de pagination, vos fichiers de registre ou vos fichiers journaux des événements devenaient de plus en plus fragmentés ? Le défragmenteur intégré ne gère pas ces fichiers, car ils doivent être défragmentés au démarrage avant l’exécution du système d’exploitation. PageDefrag est un défragmenteur léger dont le seul objectif est de défragmenter ces fichiers système critiques.

PageDefrag version 2.2 inclut la prise en charge de Windows XP et vous permet de spécifier un minuteur de compte à rebours que PageDefrag affiche avant la défragmentation. Le minuteur fonctionne comme celui que chkdsk implémente, où le fait d’appuyer sur n’importe quelle touche pendant le compte à rebours annule la défragmentation.

Téléchargez PageDefrag v2.2 à l’adresse
http://www.sysinternals.com/ntw2k/freeware/pagedefrag.shtml

REGMON V4.34 pour WIN64/ITANIUM

L’année dernière, Microsoft m’a prêté un système Itanium afin que je puisse porter les outils Sysinternals vers Win64. Tous les outils ne nécessitent pas de portage, car la plupart des applications 32 bits s’exécutent sans modification sur un Itanium exécutant Windows XP Édition 64 bits à l’aide de la prise en charge de la compatibilité binaire 32 bits d’Itanium. Toutefois, Windows XP Édition 64 bits ne chargera pas les pilotes 32 bits, ce qui signifie que tout outil Sysinternals doté d’un composant de pilote doit au moins avoir le pilote porté sur 64 bits.

Le premier utilitaire que j’ai porté était Filemon. Le port de Filemon était relativement simple, car il suffisait de modifier le pilote et la source d’interface graphique utilisateur pour qu’ils soient conformes aux règles de type de données 64 bits, puis de recompiler. J’ai donné la description du processus de portage dans la dernière newsletter. Le port de Regmon a inclus les mêmes problèmes de type de données, mais a inclus d’autres problèmes qui le rendaient beaucoup plus difficile.

Regmon s’appuie sur un pilote qui corrige la table d’appels système dans le noyau avec des routines d’interception Regmon afin qu’il puisse surveiller l’activité du registre. Pour faire court, l’interface d’appel système sur Itanium a des caractéristiques dépendantes du processeur qui rendent l’approche que j’ai utilisée dans le pilote 32 bits inutilisable. J’ai donc dû utiliser un codage difficile pour que l’interception des appels système fonctionne sur XP 64 bits.

Heureusement, Microsoft a implémenté une interface de rappel d’activité du registre dans le noyau du serveur Windows .NET qui rend inutile la technique utilisée par Regmon pour surveiller l’activité du registre. Attendez-vous à une mise à jour de Regmon dans un futur proche qui démontrera la nouvelle API du serveur Windows .NET et à une description de l’API dans le bulletin d’information.

Télécharger Regmon v4.34 à l’adresse
http://www.sysinternals.com/ntw2k/source/regmon.shtml

SYSINTERNALS DANS PC WORLD MAGAZINE

Regmon et Filemon ont tous deux fait l’objet d’une mention spéciale dans le numéro d’août de PC World, un magazine informatique à grand tirage, en tant qu’outils de résolution de problèmes recommandés. En savoir plus sur http://www.pcworld.com/features/article/0,aid,101750,00.asp

SYSINTERNALS SUR WWW.MICROSOFT.COM

Voici la dernière version des références Sysinternals dans les articles de la Base de connaissances Microsoft (KB) publiés depuis la dernière lettre d’information. Cela porte à 38 le nombre total de références de base de connaissances à Sysinternals.

  • GUIDE PRATIQUE : Create Custom Administrative Templates in Windows 2000
    http://support.microsoft.com/default.aspx?scid=kb;EN-US;q323639

  • Logon Delays Over Slow Links if Oplock Is Not Granted for the Policy File
    http://support.microsoft.com/default.aspx?scid=kb;EN-US;q319440

  • XCON : The MTA Process Is Leaking Memory with a High Handle Count http://support.microsoft.com/default.aspx?scid=kb;EN-US;q313735

En outre, Microsoft a désigné Sysinternals comme le site communautaire le plus en vue pour Windows XP Embedde ! Consultez http://www.microsoft.com/windows/embedded/community/default.asp

INFORMATIONS INTERNES

MARK ET DAVID SOLOMON ENSEIGNENT LES ÉLÉMENTS INTERNES À LONDRES

Écoutez David Solomon et moi-même présenter notre formation de 3 jours sur les éléments internes des serveurs Windows 2000/XP/.NET à Londres du 23 au 25 septembre (la prochaine formation aura lieu du 9 au 11 décembre à Austin, Texas, aux États-Unis). Basé sur « Inside Windows 2000, 3rd Edition », il couvre les relations entre l'architecture du noyau et les mécanismes des composants clés du système, tels que les threads du système, la répartition des appels système, la gestion des interruptions, le démarrage et l'arrêt. Les composants internes des sous-systèmes clés couverts incluent les threads de processus , la planification des threads, la gestion de la mémoire, la sécurité, le système d’E/S, NTFS et le gestionnaire de cache. En comprenant le fonctionnement interne du système d’exploitation, vous pouvez tirer parti de la plateforme plus efficacement et plus efficacement déboguer et résoudre les problèmes.

Pour plus d'informations, consultez http://www.sysinternals.com/seminar.shtml

INSIDE WINDOWS NT DEVELOPMENT

Cette présentation date de quelques années, mais constitue néanmoins un aperçu intéressant de l’historique de développement de Windows NT 3.1 à Windows 2000. Mark Lucovsky, l’un des premiers ingénieurs logiciels de NT, a fait cette présentation lors de la conférence technique annuelle de l’USENIX en 2000. Il y décrit la taille des équipes de développement, les taux de défauts (du code qu’ils ont écrit, pas des membres), le système de contrôle de code source et les défis posés par le développement en équipe.

Voir la présentation de Mark Lucovsky sur l’histoire du développement de NT à l’adresse http://www.usenix.org/events/usenix-win2000/invitedtalks/lucovsky_html/

Dans le même ordre d’idées, voici l’histoire de Microsoft concernant Windows, de Window 1.0 au serveur Windows .NET : http://www.microsoft.com/windows/WinHistoryIntro.asp

QUAND UNE MODIFICATION NE COMPTE PAS

Windows effectue le suivi de plusieurs horodatages pour les fichiers et les répertoires. Ils incluent la création, le dernier accès et la dernière modification. L’horodatage de la dernière modification est documenté en tant qu’enregistrement de la dernière fois où un fichier a été écrit. Malheureusement, une application qui s’appuie sur cette vérité aura une mauvaise surprise.

Si une application ouvre un fichier à l’aide de l’API CreateFile et y écrit via WriteFile ou ses variantes, l’heure de la dernière modification reflète l’heure de la modification la plus récente du fichier. Si l’application ouvre le fichier pour les E/S mappées en mémoire à l’aide de CreateFileMapping et MapViewOfFile, puis modifie le fichier en modifiant le contenu mappé, les données sont finalement réécrites dans le fichier par le gestionnaire de mémoire et la version sur disque est modifiée. Le problème est que les pilotes de système de fichiers ne mettent pas à jour l’heure de la dernière modification d’un fichier lorsqu’une modification se produit à la suite d’une écriture mappée en mémoire.

Pourquoi cela ne fonctionne-t-il pas ? Je suppose que les développeurs ont fait des économies en faveur des performances, mais ce comportement n’est pas documenté, je ne peux donc que spéculer. Je suppose que toutes les écritures ne sont pas égales.

RC 1 SERVEUR .NET

Le RC 1 du serveur Windows .NET a été livré et il est possible que Microsoft coupe sa version RTM (Release to Manufacturing) du nouveau système d’exploitation pour serveurs d’ici la fin de l’année (à peu près aussi probable que de se faire mordre par un serpent et un requin la même année). Du point de vue du noyau, il n’y a pas de changement visible majeur à partir de Windows XP. Il n’y a pas de nouveaux sous-systèmes majeurs du noyau, ni d’API Win32 ou du noyau, seulement des ajustements qui améliorent les performances sur les grands systèmes et une poignée d’API qui complètent les ensembles d’API existants.

Toutefois, il y a de grands changements dans l’espace utilisateur. Le plus important est bien sûr le .NET Framework, mais il existe également de nouveaux services orientés serveur. Le service VSS, introduit dans Windows XP pour la sauvegarde, est utilisé pour permettre aux utilisateurs clients de restaurer des versions antérieures de fichiers sur des partages de serveurs. Aucune interaction administrateur n’est requise, car un utilisateur peut simplement sélectionner l’entrée souhaitée dans une liste d’historique des fichiers affichée dans un nouvel onglet de propriété de fichier Explorer.

Winsock Direct est une amélioration de la mise en réseau du serveur. Il s’agit d’une infrastructure qui permet à l’application sur un serveur dans une configuration multiniveau avec une interconnexion réseau spécialisée appelée SAN (System Area Network) de communiquer directement avec le matériel réseau, en contournant la pile TCP/IP et le noyau.

Attendez-vous à un prochain article de David Solomon et moi-même qui décrit les modifications au niveau du système du serveur .NET. Nous abordons également le sujet du serveur .NET dans la prochaine révision de Inside Windows 2000, qui sera appelée Windows Internals, dont la publication est prévue au printemps prochain.

CHARGEMENTS DE SCRIPTS WMI

Si vous aimez la suite PsTools de Sysinternals, vous êtes probablement un mordu de scripts, et si vos systèmes fonctionnent sous Windows 2000 ou XP, ou avec les composants de base NT 4 WMI, vous devriez vous rendre sur le site TechNet de Microsoft pour récupérer les exemples de scripts WMI gratuits qui y sont affichés. Il y a de nombreux et ils sont divisés en catégories telles que Gestion de l’ordinateur et Mise en réseau, et vous pouvez les télécharger individuellement ou tous à la fois.

Obtenir des exemples de scripts WMI gratuits sur http://www.microsoft.com/technet/treeview/default.asp?url=/technet/scrip tcenter/sampscr.asp

En parlant de cadeaux de Microsoft, vous trouverez un sous-ensemble des outils du Kit de ressources Windows 2000 à télécharger. Rendez-vous sur http://www.microsoft.com/windows2000/techinfo/reskit/en-us/default.asp.

UTILISATION DE BOOTVIS POUR PROFILER LE PROCESSUS DE DÉMARRAGE

Je reçois régulièrement des demandes de développement d’un outil pour Sysinternals qui surveille le processus de démarrage afin qu’un utilisateur puisse déterminer les causes des retards qu’il peut rencontrer. Heureusement, j’ai attendu suffisamment longtemps pour que Microsoft me devance. L’outil qu’ils ont écrit s’appelle BootVis et il a joué un rôle important dans les optimisations des performances de démarrage qu’ils ont mises en œuvre pour Windows XP. Vous pouvez le télécharger à l’adresse http://www.microsoft.com/HWDEV/PLATFORM/performance/fastboot/BootVis.asp. BootVis, qui s’exécute uniquement sur Windows XP, utilise la fonctionnalité de suivi du noyau WMI de XP pour collecter une trace détaillée du processus de démarrage, y compris l’utilisation du processeur, les E/S de disque, le démarrage du processus et les E/S du pilote. Qualifier le fichier d’aide fourni avec BootVis de succinct serait faire preuve d’indulgence, c’est pourquoi je vais vous expliquer comment utiliser l’outil.

Si vous souhaitez voir précisément quelles fonctions, avec les pilotes et les modules, comptent pour le temps processeur, ouvrez Outils|Options et pointez BootVis sur vos symboles Windows XP installés. Ensuite, BootVis capture une trace du prochain démarrage, y compris les retards du pilote, en sélectionnant Trace|Démarrage suivant+Retards du pilote. BootVis compte à rebours, puis redémarre votre système.

Une fois que le système a démarré, connectez-vous et réexécutez BootVis. Sélectionnez Trace|Arrêter la trace pour extraire la trace collectée à partir du noyau et l’enregistrer dans un fichier, qu’il charge ensuite pour l’afficher. Vous verrez quatre graphiques. Dans l’utilisation du processeur, vous voyez une trace de la quantité de traitement du processeur consommée lors du démarrage. Le graphique E/S disque indique le nombre de lectures (rouge) et d’écritures (bleu) du disque qui se sont produites au cours de chaque seconde. Dans le graphique Retard du pilote, vous verrez des rectangles qui représentent les E/S du pilote dont la durée est supérieure à la limite BootVis par défaut de 100 millisecondes. Ces retards sont considérés comme significatifs. Enfin, le graphique Utilisation du processeur montre les rectangles étiquetés où les processus ont démarré.

BootVis n’affiche pas nécessairement toutes les données de trace collectées lorsque vous le démarrez, utilisez donc le bouton de zoom arrière jusqu’à ce que vous commenciez à voir le bord droit des données représentées sur le graphique. Examinez maintenant chacun des graphiques. Si vous voyez un pic de processeur ou de disque ou si vous souhaitez effectuer un zoom avant sur l’activité de démarrage du processus, utilisez le bouton zoom avant de la barre d’outils. Notez que l’heure de début indiquée restera 0 lorsque vous effectuez un zoom avant. Par conséquent, après avoir zoomé manuellement, entrez une heure proche de l’activité qui vous intéresse dans la zone d’édition Heure d’affichage.

Les graphiques Utilisation du processeur, E/S disque et Retard du pilote vous permettent d’afficher plus d’informations que ce qui n’est immédiatement visible. Sélectionnez une région qui vous intéresse dans le graphique en déplaçant le curseur, en appuyant sur le bouton gauche de la souris et en la maintenant enfoncée, puis en la faisant glisser. Cliquez ensuite avec le bouton droit pour obtenir un menu. L’option de menu intéressante dans le graphique Utilisation du processeur est Afficher le résumé, qui ouvre une boîte de dialogue répertoriant une répartition par processus d’utilisation du processeur pour l’intervalle de temps sélectionné. Si vous double-cliquez sur l’un des processus, une autre boîte de dialogue s’ouvre qui affiche une répartition de l’utilisation du processeur par module (par exemple, les DLL dans le processus). Si vous avez configuré des symboles, vous pouvez même double-cliquer sur un module et obtenir une boîte de dialogue montrant une répartition de l’utilisation du processeur de ce module par fonction.

Deux éléments de menu s’affichent lorsque vous cliquez avec le bouton droit de la souris sur une région sélectionnée dans le graphique d’E/S disque : Afficher le tableau récapitulatif et Afficher le graphique détaillé. Sélectionnez Afficher le tableau récapitulatif pour afficher un compte-rendu, ventilée par module, de toutes les E/S qui se sont produites pendant l’intervalle. Sélectionnez Afficher le graphique détaillé pour afficher un graphique linéaire représentant les secteurs réels du disque qui ont été utilisés au cours de l’intervalle. Le graphique détaillé associe même les E/S aux processus qui les ont effectuées et vous permet de filtrer les processus en les désélectionnant dans la liste de gauche. Vous pouvez sélectionner une région dans le graphique détaillé et accéder à un autre graphique récapitulatif pour ce sous-intervalle en cliquant avec le bouton droit de la souris et en sélectionnant l’élément de menu correspondant.

En choisissant Afficher le tableau récapitulatif dans le menu contextuel du graphique Retard du pilote, vous obtenez une liste des E/S affichées dans la région sélectionnée, qui comprend le nom du pilote qui a effectué l’E/S, le début, la fin et la durée totale de chaque E/S, ainsi que la fonction d’E/S exécutée.

Cela m’amène à la fin de mon tutoriel BootVis. Bien qu’il ne s’agisse pas de l’outil le plus perfectionné, après avoir joué avec BootVis pendant un certain temps, vous serez sans doute d’accord avec moi pour dire que le niveau de détail de ses graphiques est stupéfiant. La prochaine fois que vous aurez un long démarrage et que vous voulez savoir ce qui est responsable, vous saurez vers quoi vous tourner pour la réponse.

NOUVEAUTÉS À VENIR

PRÉSENTATION RAPIDE DE L’ANALYSE DU VIDAGE SUR INCIDENT

Les récentes améliorations apportées par Microsoft à ses outils de débogage du noyau ont rendu l’analyse du vidage sur incident pratiquement indolore. La prochaine fois, je vous monterai comment devenir un professionnel de l’analyse de vidage en moins d’une heure.


Merci d’avoir lu le bulletin Sysinternals.

Publié le lundi 12 août 2002 à 19:00 par ottoh

[Archives des newsletters ^] [< Volume 4, Numéro 1] [Volume 4, Numéro 3 >]