Optimiser/Problème démarrage/fermeture de Windows

Optimisation et problème de lenteur PC

Modérateur: Mods Windows

Optimiser/Problème démarrage/fermeture de Windows

Messagepar Malekal_morte » 10 Juil 2011 18:12

Ce tutoriel permet l'optimisation ou la résolution de problème concernant le boot et fermeture de Windows.
Ce tutoriel permet aussi de tracer l'ouverture ou fermeture de Windows afin de déterminer quel élément prend du temps.

Ce tutoriel a été fait sur un Windows 7, cela doit fonctionner sur Windows Vista.
Non confirmé pour Windows XP, pour les guerriers, vous pouvez quand même tenter.

Ce tutoriel est basé sur celui du site de msnf.org - pour ceux qui parlent anglais, n'hésitez pas à aller jeter un oeil, il est plus complet : http://www.msfn.org/board/topic/140247- ... me-issues/


Installation du Microsoft Windows SDK et Microsoft Windows SDK

Dans un premier temps, vous avez besoin du Microsoft Windows SDK, disponible depuis ce lien : http://www.microsoft.com/download/en/de ... en&id=3138
Cochez les options telles dans la capture ci-dessus, les autres éléments n'étant pas utile pour tracer le démarrage/fermeture de Windows.

Image

Allez ensuite dans le dossier suivant : C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin
et repérez les fichiers encadrés dans la capture, ci-dessus.

Ouvrez celui correspondant à l'architecture de votre Windows.
  • wpt_ia64.msi => Itanium Windows
  • wpt_x64.msi => 64Bit Windows Vista/7/Server 2008 (R2)
  • wpt_x86.msi => 32Bit Vista/7/Server 2008

Image

Laissez-vous guider par l'installation.
Une fois terminé, ouvrez une invite de commandes (Menu Démarrer / Tous les Programmes / Accessoires et invites de commandes).
Vérifiez que la commande xbootmgr fonctionne.


Tracer l'ouverture ou la fermeture de Windows

Voici comment tracer le boot de Windows, le principe pour tracer la fermeture de Windows est la même.
Seules les commandes sont différentes, ces dernières sont à saisir en invite de commandes.

Pour :
  • Tracer le boot, tapez la commande : xbootmgr -trace boot -traceFlags BASE+CSWITCH+DRIVERS+POWER -resultPath C:\TEMP
  • Tracer la fermeture de Windows, tapez la commande : xbootmgr -trace shutdown -noPrepReboot -traceFlags BASE+CSWITCH+DRIVERS+POWER -resultPath C:\TEMP
  • Tracer hibernation + power on, tapez la commande : xbootmgr -trace hibernate -traceFlags BASE+CSWITCH+DRIVERS+POWER -resultPath C:\TEMP

l'option -traceFlag permet de choisir les éléments à tracer.

Image

Dans le cas du trace du démarrage, au redémarrage, vous obtenez la fenêtre suivante, laissez l'opération s'effectuer

Image

Image

Enfin pour générer le rapport XML de lecture des résultats, toujours en invite de commande, saisir la commande suivante :
  • cd Desktop afin de se placer sur le bureau
  • dans le cas d'un trace de la fermeture de Windows : xperf /tti -i c:\temp\shutdown_BASE+CSWITCH+DRIVERS+POWER_1.etl -o summary_shutdown.xml -a shutdown
  • dans le cas d'un trace du boot de Windows : xperf /tti -i c:\temp\boot_BASE+CSWITCH+DRIVERS+POWER_1.etl -o summary_shutdown.xml -a boot
  • dans le cas d'un trace de l'hibernation : xperf /tti -i c:\temp\hibernate_BASE+CSWITCH+DRIVERS+POWER_1.etl -o summary_hibernation.xml -a suspend

La commande est à modifier selon les options que vous avez choisies, le fichier de résultat qui est utilisé pour générer le fichier XML se trouve dans C:\temp

Image

Ce qui nous donne :
Image

Il est conseillé de lire les résultats avec Internet Explorer afin de pouvoir réduire les blocs du XML (bouton - et +) et rendre la lecture plus facile.

Fichier de trace du Boot de Windows

Voici la partie intéressante sur le fichier XML de boot :

Image

<timing bootDoneViaExplorer="132719" bootDoneViaPostBoot="155819" osLoaderDuration="5120" postBootRequiredIdleTime="10000" postBootDisturbance="13100" pnpBootStartStartTime="39" pnpBootStartEndTime="6791" pnpBootStartDuration="6752" pnpSystemStartStartTime="7816" pnpSystemStartEndTime="14862" pnpSystemStartDuration="7045">
- <interval name="PreSMSS" startTime="0" endTime="14866" duration="14866">


  • bootDoneViaExplorer est le temps que met Windows pour arriver sur le bureau, soit dans mon cas 132719 ms => 2min
  • bootDoneViaPostBoot est le temps complet du boot (+10s d'inactivité) soit donc 155819 ms => 2min et 50s


Le graphique suivant décrit les étapes du démarrage de Windows dans le temps, étape que l'on retrouve dans le fichier XML :
Image

  • PreSMSS : Initialisation du Kernel et des périphériques - c'est la partie du démarrage où le logo de Windows apparaît.
  • SMSSInit : Lancement de SMSS.exe qui charge les drivers, dont ceux graphiques.
  • WinLogonInit : Chargement de Winlogon, des groupes de sécurité ainsi que le démarrage des services. Winlogon se charge juste avant l'ouverture de session, cette phase est terminée quand le bureau apparaît, ce dernier passe la main à userinit.
  • ExplorerInit : Chargement du shell (le bureau avec le menu Démarrer) et des clefs relatives à Explorer.exe (BHO, clef Active Setup qui sont souvent utilisées par les RAT/Bifrose, etc).
  • PostBoot : lance les clefs run, place les programmes dans le systray.

Les deux phases qui sont les plus longues en général, sont les deux dernières, où une multitude de programmes ont tendance à se lancer surtout si l'internaute a beaucoup de programmes au démarrage, voir la page : Maitriser les programmes au démarrage


Fichier de fermeture du Boot de Windows

Voici un exemple de fichier XML que vous pouvez générer :
Image

  • shutdownTime décrit le temps de fermeture et arrêt total de Windows.
  • servicesShutdownDuration donne le temps de fermeture des services Windows.
  • la partie duration de sessionShutdown donne le temps de fermeture des services d'une session
    • 0 étant les services systèmes
    • 1,2,n étant les services attachés à une session

Le processus complet de fermeture de Windows est décrit par le graphique suivant :

Image

  • UserSession phase : csrss.exe lance la fermeture de Windows et ferme tous les applications. Si une application bloque la fermeture, l'utilisateur est notifié par un message, il peut stopper la fermeture de Windows et enregistrer son travail sur les diverses applications ou continuer la procédure, Windows tuera alors toutes les applications ouvertes.
  • SystemSession Phase : C'est la phase de fermeture des services dans l'ordre des dépendances. Le temps de fermeture d'un service est déterminé par la clef WaitToKillServiceTimeout (voir plus bas), si le service ne s'est pas fermé au delà de ce laps de temps, il est "tué" pour ne pas bloquer la phase de fermeture.
  • KernelShutdown : Fermeture des périphériques et de Windows.

La phase KernelShutdown peut être calculée à partir du XML en prenant le temps total - le temps de fermeture des services par session, soit donc : shutdownTime - SessionID0_duration - SessionID2_duration - SessionIDn_duration
Dans le cas où cette phase est très longue, voir la partie ClearPageFileAtShutdown plus bas.


Optimiser le démarrage

Ce paragraphe est issu de l'article suivant : http://www.msfn.org/board/topic/140262- ... windows-7/

Ensuite vérifier que le service :
  • Superfetch pour Windows 7 est bien démarré et en mode de démarrage automatique.
  • ReadyBoost pour Windows Vista est bien démarré et en mode de démarrage automatique.

Image

pour cela :
  • Menu Démarrer et saisir en bas services.msc et appuyer sur Entrée.
  • Chercher le service mentionné selon votre version de Windows
  • Vérifiez que dans la colonne Etat il est bien démarré.
  • Double-cliquez dessus et vérifiez que le type de démarrage est en automatique
  • Redémarrez l'ordinateur


Avant de commencer il convient d'avoir créé un fichier XML de trace du boot qui enregistre le temps de démarrage de Windows.
Ce fichier sera le point de référence pour déterminer si vous bien gagné du temps au chargement de Windows.

Ensuite nous pouvons commencer l'optimisation.

Saisir la commande suivante : xbootmgr -trace boot -prepSystem -verboseReadyBoot
puis laissez-vous guider, Windows peut redémarrer plusieurs fois c'est normal.

Image

Une fois l'optimisation terminée.
Refaire un trace de boot afin de pouvoir générer un nouveau fichier XML et visualiser le temps gagné.
Dans mon cas - les valeurs parlent d'elles-mêmes.

Avant l'optimisation :

Image

Après l'optimisation :
Image

NOTE : le site msfn.org conseille de ne pas défragmenter avec un programme ensuite, vous risquez de perdre l'optimisation !

Problème connu de fermeture/Arrêt de Windows
Fermeture de Windows XP

Certains sites conseillent d’arrêter les services NVIDA et Terminal Server qui peuvent ralentir l’arrêt de Windows.

Pour cela :
  • Menu Démarrer et exécuter, saisir en bas services.msc et appuyer sur Entrée.
  • Chercher les services mentionnés selon votre version de Windows
  • Double-cliquez dessus et positionnez le type de démarrage à manuel.
  • Redémarrez l'ordinateur


Sur Windows 7, Windows bloque sur "Arret système"
  • Menu Démarrer puis tapez regedit et appuyez sur Entrée
  • Déroulez l'arborescence suivante en cliquant sur les + : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
  • A droite, double cliquez sur ClearPageFileAtShutdown et vérifiez que la valeur est à 0.
  • Si ce n'est pas le cas, mettez la à zéro
  • Validez toutes les fenêtres, redémarrez l'ordinateur puis tentez une fermeture de Windows.


Vous pouvez aussi modifier le temps de fermeture maximal des services de Windows, ceci se détermine par la clef WaitToKillServiceTimeout
dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
La valeur standard étant 12000 (12s), vous pouvez la porter par exemple à 7000 (7s) pour gagner du temps.
Ne baissez pas trop la valeur, sous peine de ne pas laisser le temps aux services de se fermer convenablement, ce qui n'est pas bon.

Liens concernant optimisation Windows

Pour continuer sur le sujet, voici quelques liens relatifs à l'optimisation de Windows :
Première règle élémentaire de sécurité : on réfléchit puis on clic et pas l'inverse - Les fichiers/programmes c'est comme les bonbons, quand ça vient d'un inconnu, on n'accepte pas

Sécuriser son ordinateur (version courte)

Partagez malekal.com : n'hésitez pas à partager sur Facebook et GooglePlus avec les boutons en haut pour faire connaître malekal.com

Stop publicités - popups intempestives
Supprimer-virus.com : guide de suppression de malwares

S'inscrire à la newsletters malekal.com pour se tenir informé des menaces

Avatar de l’utilisateur
Malekal_morte
Site Admin
Site Admin
 
Messages: 68767
Inscription: 10 Sep 2005 13:57

Re: Optimiser/Problème démarrage/fermeture de Windows

Messagepar Draky » 14 Juil 2011 09:57

Pas mal :)

Manque la première image qui dit quelle option cocher lors de l'installation du kit SDK.

Perso j'ai juste coché :

- Developer Tools (sauf le dernier qui était déjà décoché)

En fait j'ai viré la doc. et les "samples" (exemples en anglais).

Ça fait quand même 422 Mo à DL car l'installateur récupère sur Internet les fichiers donc... patience :)

EDIT : bon j'ai laissé tomber, ça ne marche pas.

Dans les deux cas de commandes suivantes, j'ai un message d'erreur :
Code: Tout sélectionner
* Tracer le boot, tapez la commande : xbootmgr -trace boot -traceFlags BASE+CSWITCH+DRIVERS+POWER -resultPath C:\TEMP
* Ensuite nous pouvons commencer l'optimisation. Saisir la commande suivante : xbootmgr -trace boot -prepSystem -verboseReadyBoot


J'ai ce genre de message : "couldn't find kernel user mode in active list" et "couldn't find xxxxx".
Pour info, après la première commande (trace du boot), j'ai deux fichiers dans le répertoire "temp" :
- boot_BASE+CSWITCH+DRIVERS+POWER_1_km_premerge.etl
- boot_BASE+CSWITCH+DRIVERS+POWER_1_um_premerge.etl
J'ai pris le premier pour faire un XML mais j'ai abandonné vu que je ne sais pas si c'est le bon fichier.

Enfin, toujours dans "temp", j'ai quand même un fichier log qui contient le message d'erreur, je donne le contenu :
[2011/07/14-10:12:26.910] Detected Win7RTM physical (ReadyBoot) prefetcher; the SysMain service is auto-started.
[2011/07/14-10:12:26.926] Registering for auto-run with a 120000 msec delay...
[2011/07/14-10:12:26.962] Completed auto-run change.
[2011/07/14-10:12:26.997] Starting trace...
[2011/07/14-10:12:29.406] Enabled boot logging to 'C:\TEMP\boot_BASE+CSWITCH+DRIVERS+POWER_1_km_premerge.etl'
[2011/07/14-10:41:20.027] Detected Win7RTM physical (ReadyBoot) prefetcher; the SysMain service is auto-started.
[2011/07/14-10:41:20.074] Stopping trace...
[2011/07/14-10:41:23.834] Stopped kernel logger.
[2011/07/14-10:41:23.834] Couldn't find user-mode logger in active logger list.
[2011/07/14-10:41:23.834] Unable to stop trace.
[2011/07/14-10:41:23.834] Stopping trace...
[2011/07/14-10:41:23.959] Couldn't find kernel logger in active logger list.
[2011/07/14-10:41:23.959] Couldn't find user-mode logger in active logger list.
[2011/07/14-10:41:23.959] Unregistering auto-run...
[2011/07/14-10:41:23.959] Completed auto-run change.


Belle aventure complètement foiré, heureusement que "superfetch" était là dans les services ;)

Avatar de l’utilisateur
Draky
newbie
newbie
 
Messages: 14
Inscription: 15 Juin 2008 00:06
Localisation: France

Re: Optimiser/Problème démarrage/fermeture de Windows

Messagepar Malekal_morte » 16 Juil 2011 00:13

L'erreur c'est :
Couldn't find kernel logger in active logger list.
Couldn't find user-mode logger in active logger list.


D'après ce post; tu as des services et autres qui sont désactivés : http://social.msdn.microsoft.com/Forums ... 66c07e1a2f

The ReadyBoost service (EMDMgmt) was disabled, so I put it on Automatic Startup,
and, in Reliability and Performance Monitor -> Data Collector Sets -> Startup Event Trace Sessions -> the ReadyBoot item was disabled, so I activated it...


+ une histoire de clef : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction à mettre à Enable.
Première règle élémentaire de sécurité : on réfléchit puis on clic et pas l'inverse - Les fichiers/programmes c'est comme les bonbons, quand ça vient d'un inconnu, on n'accepte pas

Sécuriser son ordinateur (version courte)

Partagez malekal.com : n'hésitez pas à partager sur Facebook et GooglePlus avec les boutons en haut pour faire connaître malekal.com

Stop publicités - popups intempestives
Supprimer-virus.com : guide de suppression de malwares

S'inscrire à la newsletters malekal.com pour se tenir informé des menaces

Avatar de l’utilisateur
Malekal_morte
Site Admin
Site Admin
 
Messages: 68767
Inscription: 10 Sep 2005 13:57

Re: Optimiser/Problème démarrage/fermeture de Windows

Messagepar Draky » 16 Juil 2011 10:36

Pfiou.

Alors :
- "The ReadyBoost service (EMDMgmt) was disabled, so I put it on Automatic Startup," => pas trouvé ce nom dans "services.msc"
- "Reliability and Performance Monitor -> Data Collector Sets -> Startup Event Trace Sessions -> the ReadyBoot item was disabled, so I activated it..." => déjà activé à la base
- "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction à mettre à Enable." => j'ai bien cette branche dans regedit mais aucune clef avec le nom et la valeur booléenne possible à mettre sur enable ou pas

Ma conclusion : MS via Vista et suivant NE VEUT PAS que l'utilisateur moyen bidouille.
C'est une conviction renforcée que j'ai.
L'utilisateur moyen, il achète un gros PC et prie que ça rame pas trop.
Honnêtement, 7 ne rame pas avec mes 4 Go de RAM (proc moyen pas surpuissant) et tant pis si à l'extinction ça met 3 minutes à s'éteindre (contre 15 secondes à mon Ubuntu en dual-boot donc même machine).

Cher utilisateur qui va lire ce sujet : tu veux un OS qui se lance vite et s'arrête vite : Linux :)

A part ça, 7 marche relativement bien.

Et pour donner un petit exemple de complexité de Windows : essayez de changer un port (ouverture) dans 7 en moins de 10 clics et moins de 2 minutes.
Je pense que la procédure a été rendue complexe exprès, c'est pas possible autrement :)

Merci quand même Malekal ;)

Avatar de l’utilisateur
Draky
newbie
newbie
 
Messages: 14
Inscription: 15 Juin 2008 00:06
Localisation: France

Re: Optimiser/Problème démarrage/fermeture de Windows

Messagepar silverjet » 14 Juil 2013 19:15

Bonjour,

Je ne comprends pas, j'ai tout bien installé et XBOOTMGR ne fonctionne pas
D'ailleurs il est absent de mon ordi, pas de xbootmgr.exe.
Quelqu'un peut-il m'aider ?

Merci d'avance.

Silverjet

silverjet
newbie
newbie
 
Messages: 10
Inscription: 12 Juil 2013 23:04
Localisation: Suisse

Re: Optimiser/Problème démarrage/fermeture de Windows

Messagepar Malekal_morte » 27 Juil 2013 21:39

Surement parce que tu n'as pas fait ce qui est demandé de faire avant.
Première règle élémentaire de sécurité : on réfléchit puis on clic et pas l'inverse - Les fichiers/programmes c'est comme les bonbons, quand ça vient d'un inconnu, on n'accepte pas

Sécuriser son ordinateur (version courte)

Partagez malekal.com : n'hésitez pas à partager sur Facebook et GooglePlus avec les boutons en haut pour faire connaître malekal.com

Stop publicités - popups intempestives
Supprimer-virus.com : guide de suppression de malwares

S'inscrire à la newsletters malekal.com pour se tenir informé des menaces

Avatar de l’utilisateur
Malekal_morte
Site Admin
Site Admin
 
Messages: 68767
Inscription: 10 Sep 2005 13:57

Re: Optimiser/Problème démarrage/fermeture de Windows

Messagepar herve62 » 09 Oct 2014 08:52

Bonjour
Je teste la méthode SDK , tout ce passe bien sauf que je me demande s'il n'y a pas une petite erreur dans les
traces ?
J'ai toujours TRACESHUTDOWN et ne voit pas le BOOT donc je ne trouve pas la partie en "Rouge" :
Boot avec Interval name
Ensuite je ne comprends pas comment lire sous IE ??? j'ai tapé file:///C: / ....etc et il dit qu'il trouve pas ???
Sinon tout est bien fait : Félicitations pour le boulot et l'aide que cela nous apporte
Bon je suis électronicien/informatique de développeur d'applis en VBA .... donc ça aide pour les manip.
Merci

herve62
newbie
newbie
 
Messages: 22
Inscription: 21 Juil 2014 20:23


Si vous trouvez le contenu de cette page pertinente, faites +1 :

Publicité

Retourner vers Optimisation et problème de lenteur PC

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

Partenaires du site : Geekeden - OxygenePC.com