none
Xbootmgr on Windows XP RRS feed

  • Question

  • Hello,

    I'm trying to troubleshoot slow boot performance issues on our company's WinXP SP3 workstations. I copied the neccesary xperf files to a test workstation and did some succesful tests to tryout the procedure. 

    After that i copied the files to one of our production workstations and entered the following command:

    c:\xperf\xbootmgr -trace boot -traceflags BASE+CSWITCH+DRIVERS+POWER -resultpath c:\boot -numRuns 3

    The workstations restarts and xbootmgr is restarted after the next logon. However xbootmgr doesn't seem to complete. After te countdown to het next reboot xbootmgr stops with the following messages:

    - Waiting for prefetcher....

    - Gave up waiting for virtual prefetcher after 300 seconds

    - Could not wait for prefetcher

    - Couldn't find kernel logger in active logger list

     

    The xperf files I used are from WPT 4.8.77

    Windows XP version used: Windows XP SP3. 

     

    I hope someone can help.

     

    Regards,

    Vern

     

     

    Thursday, August 25, 2011 12:22 PM

Answers

  • Hi Vern,

    "yes I can" :) ... i hope so

    I assume that "something" around the Prefetch engine was broken. And I think you have two options to fix it.

    1. prepsystem:

    Please run the xbootmgr again with the following command: "xbootmgr -trace boot -prepsystem".

    I know this will take time and 6 reboots expected as well. Which can be frustrating because of your describt "bad bootperformance".
    But I'm sure it will boot up much faster after using prepsystem.

    2. cleanup the prefetch folder:

    I found this tipp at the MS knowlegde base, sorry don't find the right number quickly.
    Typicaly this should be do if you use images.
    And you don't like that all you client could be have the same "bad history" and may be some driver does not match.

    - So please open the explorer and jump to "%Windir%\Prefetch
    - delete the whole enties incl. subfolders
    - trust me :) --> all files and folders into Prefetch
    - if you don't trust me, make a copy of all files and folders and clean up after that this folder

    If this folder is emty please reboot the machine again. My expirions is that the next 3-5 Windows starts can be take more time... Because the Prefetch will rebuild the cache.
    You can check this after the first reboot --> just jump into the Prefetch folder again. And you should find some new "*.pf or *.db" files.
    And if you compare the create file date you will see --> this was done by the last windows start.

    So Windows will take time and build a lot new files --> give Windows time to work.

    The final state is achieved if you can find a special ini file. The name is Layout.ini.
    In this files you will find a list of all detected drivers, application, services etc. by Prefetch.

    Summary:

    If you run the xbootmgr prepsystem option, you will see at the end that your prefetch folder is working as well. Because xbootmgr use an internal command to refresh some prefetch related information.

     

    One additional hint for prefetch in general:

    You can run the following command "xbootmgr -trace boot -verbosereadyboot" --> the new etl will show you a special frame for "ReadyBoot I/O". And my expirions around this:

    This should not longer take then ~80 sec.
    You should not see to much black "misses"
    At the context menue, specialy from this frame, you can select "Cache Size Graph". --> I don't find yet any related documentation. But all of my "tuned" machines does not have more then 200 MB size.

    BR
    Rainer

     

    Thursday, August 25, 2011 5:17 PM
  • Hi Vern,


    don't panic about "So I won't be able to analyze the bad boot performance."
    I think you can have a look into the 6 etl which build wpt at the prepsystem time period.
    Or if you like you can run one initial book and just trace them like "xbootmgr -trace boot -verbosereadyboot".

    To answer your questions:

    special option for Vista / W7:
    My expirions is the "verbosereadyboot" take care of the prefetch function / folder in general.
    And prefetch is working with windows xp as well.
    You should see the new, special frame "ready boot I/O" by using the xperfviewer.

    black misses(Pic 1):
    If you would have a prefetch like my example... no speed at system boot expected :).
    The following picture show you an example from a WPT workshop which I build to train our dev. and eng. dept.

    not longer take 80 sec (Pic 2):
    Please check my second picture for this.
    This show you one example from a machine which came closer to the limits.
    Not realy bad, just using some additional resources at the boot time.
    My expirions in some cases: The Windows Prefetch "in work" to rebuilding / refreshing the own engine.

    I hope this help and best regards

    Rainer

    Pic 1

    Pic 2

    Thursday, August 25, 2011 7:48 PM
  • Hi Vern,

    I will try to explain what I do (typical) to check any boot etl files.

    a) check CPU usage:
    First I check the summary details from the CPU usage tab.
    I check the first 30 listed application and ask me "I need this application?"
    If the answer is no --> try to change the configuration and may be let start this application later or never.

    b) check the disk I/O counter
    Simular to "a)" --> open the summary table and check the first 20-30 listed application.
    If I found some "high load" application, I check in detail "what's go on" and if possible, minimize the trafic.
    Sometimes it help's to use a fast harddrive for retest, depend on the maximum disk I/O counter.
    E.g. if the harddrive never hit more then 3.000 counter --> around the 1.000 only, replace the harddrive.
    Or check if the used harddrive driver can replaced / updated.

    c) check the autoruns
    You can use the nice sysinternal tool (my opinion) "autoruns.exe.
    This tool provide a overview for all automatical loaded applications, services etc.
    I use this tool to "clean up" some auto start application like adobe, java ...

    Best regards

    Rainer


    RPA
    Monday, September 5, 2011 5:55 PM

All replies

  • Hi Vern,

    "yes I can" :) ... i hope so

    I assume that "something" around the Prefetch engine was broken. And I think you have two options to fix it.

    1. prepsystem:

    Please run the xbootmgr again with the following command: "xbootmgr -trace boot -prepsystem".

    I know this will take time and 6 reboots expected as well. Which can be frustrating because of your describt "bad bootperformance".
    But I'm sure it will boot up much faster after using prepsystem.

    2. cleanup the prefetch folder:

    I found this tipp at the MS knowlegde base, sorry don't find the right number quickly.
    Typicaly this should be do if you use images.
    And you don't like that all you client could be have the same "bad history" and may be some driver does not match.

    - So please open the explorer and jump to "%Windir%\Prefetch
    - delete the whole enties incl. subfolders
    - trust me :) --> all files and folders into Prefetch
    - if you don't trust me, make a copy of all files and folders and clean up after that this folder

    If this folder is emty please reboot the machine again. My expirions is that the next 3-5 Windows starts can be take more time... Because the Prefetch will rebuild the cache.
    You can check this after the first reboot --> just jump into the Prefetch folder again. And you should find some new "*.pf or *.db" files.
    And if you compare the create file date you will see --> this was done by the last windows start.

    So Windows will take time and build a lot new files --> give Windows time to work.

    The final state is achieved if you can find a special ini file. The name is Layout.ini.
    In this files you will find a list of all detected drivers, application, services etc. by Prefetch.

    Summary:

    If you run the xbootmgr prepsystem option, you will see at the end that your prefetch folder is working as well. Because xbootmgr use an internal command to refresh some prefetch related information.

     

    One additional hint for prefetch in general:

    You can run the following command "xbootmgr -trace boot -verbosereadyboot" --> the new etl will show you a special frame for "ReadyBoot I/O". And my expirions around this:

    This should not longer take then ~80 sec.
    You should not see to much black "misses"
    At the context menue, specialy from this frame, you can select "Cache Size Graph". --> I don't find yet any related documentation. But all of my "tuned" machines does not have more then 200 MB size.

    BR
    Rainer

     

    Thursday, August 25, 2011 5:17 PM
  • Hi Rainer,

    Thank you for your lengthy explanation :) I'm going to give option 2 a first try. If I run -prepsystem my boot traces won't be representative anymore because the system will be "optimized". So I won't be able to analyze the bad boot performance.

    About -verbosereadyboot:

    - Isn't this a special option only for Windows 7 and Vista?

    - What do you mean with "black misses"?

    - Do you mean that this boot won't take longer than 80 sec?

    I'll keep you informed about my progress.

    Best regards,

    Vern

     

     

    Thursday, August 25, 2011 5:48 PM
  • Hi Vern,


    don't panic about "So I won't be able to analyze the bad boot performance."
    I think you can have a look into the 6 etl which build wpt at the prepsystem time period.
    Or if you like you can run one initial book and just trace them like "xbootmgr -trace boot -verbosereadyboot".

    To answer your questions:

    special option for Vista / W7:
    My expirions is the "verbosereadyboot" take care of the prefetch function / folder in general.
    And prefetch is working with windows xp as well.
    You should see the new, special frame "ready boot I/O" by using the xperfviewer.

    black misses(Pic 1):
    If you would have a prefetch like my example... no speed at system boot expected :).
    The following picture show you an example from a WPT workshop which I build to train our dev. and eng. dept.

    not longer take 80 sec (Pic 2):
    Please check my second picture for this.
    This show you one example from a machine which came closer to the limits.
    Not realy bad, just using some additional resources at the boot time.
    My expirions in some cases: The Windows Prefetch "in work" to rebuilding / refreshing the own engine.

    I hope this help and best regards

    Rainer

    Pic 1

    Pic 2

    Thursday, August 25, 2011 7:48 PM
  • Hi Vern,

    can you follow my explained pictures and answer this you question ?

    And work it now on your machine ... ?

    If yes, don't forget to vote ;)

    BR
    Rainer

    Saturday, August 27, 2011 11:54 PM
  • Hello Rainer,

    Thanks! :)

    After rebuilding the prefetch folder as you told me I was able to get xbootmgr to work. I generated 20 .etl files (tested with 2 accounts and generated 10 etl files per account) but I hadn't had the opportunity to take a look at them yet. Tomorrow I will put the boot data in an excel sheet to see if the boot times are consistent during the various boots. After that I can drill further into the issue.

    I'm not sure about the pictures, is it correct that in pic 1 there is a slow boot time with a un-optimized prefetch folder (rebuilding) and that in pic 2 the system is much faster because the prefetch is optimized?

    FYI: It can take up to 3 days to get the layout.ini file generated after it is removed. To manually create the file (as I did) you can issue the following command:

    Rundll32.exe advapi32.dll,ProcessIdleTasks

    Is it OK to post any further questions (if needed) considering these slow boot times in this thread?'

    Best regards,

    Vern


    Sunday, August 28, 2011 1:35 PM
  • Hi Vern,

    sure, go ahead.

    I think you can open a new thread to analyze your results .).
    I would be happy if we can check / optimize your systems and let anyone share our expirions as well.

    True, Pic. 1 is from a bad performed system with no working Prefetch function.
    And Pic. 2 show you a "typical" source use case --> the Prefetch is done after ~80 sec and the memory usage is not to high. 

    btw: I had never got nice results with self created layout.ini --> this should be always do from windows himself - my expirion.

    BR


    Sunday, August 28, 2011 1:49 PM
  • Hi Rainer,

    I generated summary xml files from the various traces that I made and gathered the info in a spreadsheet. I did 20 xbootmgr "runs" and the boot time is always somewhere between 03:15 and 03:32 minutes. I can share the spreadsheet If you want to take a look.

    There are huge differences in WinlogonInit during the various runs from 95 seconds being the quickest to 115 seconds being the slowest.

    After that I took a closer look at the summary xml files and it seems there is OSLoader, GPO and PNP information missing from the trace (pic 1). Maybe it's because GPO and PNP information isn't supported on Windows XP but I couldn't find any information about that. Because GPO's are processed during WinLogonInit I think this could be crucial information.

    Also the ReadyBoot information isn't in the trace, all the .etl files are generated with the following command:

    xbootmgr -trace boot -traceFlags BASE+CSWITCH+DRIVERS+POWER -resultPath d:\boot -numRuns 10 -postBootdelay 300 -verboseReadyBoot

    However when I open the file in xperfview the information isn't there.

    Best regards,

    Vern

     

     

    Tuesday, August 30, 2011 2:48 PM
  • Hi Vern,

    can you add me to you profile favorit list please ?
    Because I was not able to add your profile :(.

    This would allow us to exchange some direct messages.
    And we can provide our results after we have this :).

    Thanks and best regards

    Rainer

    Tuesday, August 30, 2011 5:29 PM
  • Offtopic ...  4 Vern only ... may I will delete them later ...

    ok, no I can see as my friend :)
    But no replay by email possible :(


    Tuesday, August 30, 2011 8:04 PM
  • Offtopic:

    Found this on the forum: http://social.microsoft.com/Forums/en/reportabug/thread/f5b5533f-b05e-4962-93d2-3c21ae430588 seems it's just not possible to send private messages.

    ....

    Will think about an alternative :)

    BR

    Wednesday, August 31, 2011 6:44 AM
  • Hi Vern,

    any "public" place that you can store temporarly (at this weekend) the files ?

    BR
    Rainer


    RPA
    Wednesday, August 31, 2011 7:57 AM
  • Hi Vern,

    I would like to check an etl file as well.

    BR
    Rainer


    RPA
    Wednesday, August 31, 2011 7:25 PM
  • Hi Vern,

    agreed.

    Let me check if I can provide "an onetime" ftp account only, if you like to continue. 

    Best regards

    Rainer


    RPA
    Thursday, September 1, 2011 7:34 PM
  • Hello Rainer,

    Thanks but we are going to lay in a call @ MS support. I really appriciate your effort in helping me getting the tools working on Windows XP.

    I'm going to clean up this case a little bit so that only the relevant entries remain.

    Best regards,

    Vern

     

    Friday, September 2, 2011 2:40 PM
  • Hi Vern,

    I will try to explain what I do (typical) to check any boot etl files.

    a) check CPU usage:
    First I check the summary details from the CPU usage tab.
    I check the first 30 listed application and ask me "I need this application?"
    If the answer is no --> try to change the configuration and may be let start this application later or never.

    b) check the disk I/O counter
    Simular to "a)" --> open the summary table and check the first 20-30 listed application.
    If I found some "high load" application, I check in detail "what's go on" and if possible, minimize the trafic.
    Sometimes it help's to use a fast harddrive for retest, depend on the maximum disk I/O counter.
    E.g. if the harddrive never hit more then 3.000 counter --> around the 1.000 only, replace the harddrive.
    Or check if the used harddrive driver can replaced / updated.

    c) check the autoruns
    You can use the nice sysinternal tool (my opinion) "autoruns.exe.
    This tool provide a overview for all automatical loaded applications, services etc.
    I use this tool to "clean up" some auto start application like adobe, java ...

    Best regards

    Rainer


    RPA
    Monday, September 5, 2011 5:55 PM
  • Hello Rainer,

    Thanks for the update! :) These are some good tips to start with.

    We already checked with autoruns and are repackaging some applications so that they don't start at startup.

    Best regards,

    Vern

    Wednesday, September 7, 2011 2:07 PM
  • Hi Vern,

    thanks for your feedback :).

    Best regards

    Rainer


    RPA
    Wednesday, September 7, 2011 4:53 PM