Two and a half-minutes to boot on 2500 system

N

Neil

Help! My new'ish AMD Barton XP2500 system, now takes 150
seconds to boot from cold. I'm sure it was never this
bad before, but in the two months since I upgraded from a
1Ghz Athlon, its performance has always been
disappointing. I'm sure it is actually slower than my
old system. Any application (even Explorer, Outlook
Express or IE), takes 10 secs to open, and another 5
formatting neatly.

On boot-up, the system shows the black "Windows XP Pro"
screen for one minute, then I get a blank screen for 35
seconds, getting the "Welcome" blue screen around 110
secs.

I've researched and tried many MS and Usenet
suggestions. I've run Bootvis; disabled almost
everything that I don't need at startup, or in the
background post startup; I've used msconfig to start a
most base system possible, and even that made little
difference to the times.

The system has:
512mb of DDR 333 RAM
a 7200rpm 60Gb drive for Windows (only 8Gb used, and
defragged regularly).
Nvidia FX5200 Graphics card
CD reader & DVD writer
Ethernet card, connected to a simple Switch and available
for other home systems to link into (also Wifi access
point provided).

Runs:
XP Pro (has all latest critical updates)
McAfee AntiVirus
Zone Alarm Pro (currently disabled, but that made no
difference either)
 
P

Paul B T Hodges

You say you ran bootvis.

Did you use it to trace the boot to see which parts were taking the time ?
Run it and set it to trace next boot, and let it reboot.
Bootvis will start automatically and display graphs of the boot trace.

List the times taken by each of the processes in the first bar graph.
Hover over each bar with the mouse.

Disk Init Time
Driver Init
Prefetching
Registry and Pagefile
Video
Shell
Logon and Service


Paul
 
N

Neil

-----Original Message-----
List the times taken by each of the processes in the first bar graph.
Hover over each bar with the mouse. RESULTS FOLLOW....

Disk Init Time 0.71 secs
Driver Init 52 seconds!!
Prefetching not shown
Registry and Pagefile 17.3 secs
Video 17 secs
Shell 3 secs
Logon and Service
31 secs (although the vertical "ready" (?) bar show one
third of the way through this, at 98 seconds into the
boot by when the shell boot activity is shown to have
completed. Process creates start around this time.

Driver delays shown by hovering over the blocks show as
follows:
Videoport = 5 secs
ADSL modem - 5 secs
PGPDSK.SYS - four delays (9,6,3 & 1 secs) totalling
almost 19 seconds. Assuming this is "PGP" I uninstalled
this completely, and the boot still took as long, so I'm
puzzled what this is saying/doing.

What does all this tell me then?!

Any help appreciated....

Neil
 
P

Paul B T Hodges

Lets start by trying to see whats happening with the drivers, the pagefile +
registry and the video, these are by far the furthest out compared to my
system which I just measured at 22 secinds (ans thats a bit slow, probably
needs defragmenting)
At the points on the graph where the drivers, the pagefile+Registry and the
video drivers are loading, is either the disk or cpu maxed out ?

The first thing is to try and get Prefetching working. Have you made any
registry changes to turn it off ?
Have you deleted the contents of the \windows\prefetch directory ? This
should contain a number of files with .PF extensions, and a file called
layout.ini. Go have a look in \windows\prefetch and report whats in there.

Next go look in the registry for the prefetch parameters key and navigate to
it.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\
Memory Management\PrefetchParameters

In the right hand pane, there should be a load of parameters starting with
default,AppLaunchMaxNumPages,ApplaunchMaxNumSections,..........

The one to look for is called

EnablePrefetcher REG_DWORD and it should be set to 3.

If this isn't there, then prefetching is turned off, and this is a big part
of boot performance.

Report back with what you find.

If its missing, create it by right clicking in the right hand pane, select
new, REG dword, key in the name EnablePrefetcher and hit return, now double
click it, and set the value to 3.

Now reboot.

You didn't say how much RAM the system has.

Carry out the above first, once prefetching is working, we'll check out the
reserved area of disk it stores the defragmented boot files in.


Paul
 
N

Neil

Thanks for your help, Paul....

On some earlier Bootvis traces, I've definitely seen pre-
fetching running. The reg key you said to check is
there, and set as 3, but just running 3 Bootvis traces
one after the other, the first shows nothing at all in
the "Boot Activity" section (!); the 2nd showed all bar
Prefetching, the third showed pre-fetching running for
56.5 secs, almost simultaneously to the 66 sec driver
load. I've not done intentionally anything to disable
it, but I don't see why Bootvis is sometimes showing it,
and sometimes not. Weird!

The windows/prefetch directory exists. It has 130 files,
totalling 4mb. The layout.ini file by a rough estimate
has around 2,500 entries in it, and runs to 309kb on its
own.

The system has 512Mb DDR333 RAM.

The CPU is at 100% in chunks, or off and on hitting that
between 59 & 70 seconds, and again between 85 and 98
secs. The disk utilisation appears to run to 100% a lot
until around 58 secs.

Neil
 
P

Paul B T Hodges

Okay,

Lets try and optimize prefetch.

How much space do you have in the windows xp partition? You should have 15%
to get this to work.

Delete the contents of \windows\Prefetch

Reboot the system 3 times and check the bootvis traces for any changes. You
can get bootvis to reboot it 3 times for you, you dont need to sit with it.

This should create serveral prefetch files in \windows\prefetch. The main
one being a files start ntosboot........

After this, were going to force it to recreate the layout.ini file and
defragment any files assoctitated with the boot, which it puts into
layout.ini, and store them in there own reserved area of disk.

Before doing this go and check on a load of values under the registry key

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft|Dfrg\BootOptimizeFunction

Enable should be Y set it to Y
LcnEndLocation set it to 0
LcnStartLocation set it to 0
OptimizeComplete set it to No the word No
OptimizeError set it to blank, space it out.

LcnEndLocation and LcnStartLocation are the logical cluster number addresses
for the start and end of the reserved portion of disk, which the windows xp
boot optimizer puts the files associated with boot into.

Run the command from the command prompt.

rundll32 advapi32 ProcessIdleTasks

You should see a fair amount of disk activity for a while, say 30 seconds or
so. The area needed to store the boot files is only 200-300MB or so, so it
doesn;t take that long.

Now go back into the registry, and post the values of the keys above.

Windows xp and other qualfied 3rd party defragmenters are actually smart
enough to check the Lcn values in the registry, and leave this reserved area
alone when defragmenting.

Reboot. If this doesnt speed it up at all, theres a lower level problem
we'll start looking for.

Paul





After rebooting 3 times.
 
N

Neil

Unfortunately no improvement from this, Paul.

My XP partition has loads of space (50Gb free).
I did all you said. BootOptimizeFunction values after
doing all this are:

LcnEndLocation 4169417
LcnStartLocation 4079223

The RUNDLL32 command took the best part of 5-6 mins,
running at 90-100% CPU throughout.

Bootvis now shows:
Driver load 51 secs; Prefetching 74 secs. The "ready"
vertical line is around 86 secs. The system is still
busy and slow until the 2 min mark though.

I'm getting 100% CPU between 15 & 45 secs, and 58 and 98
secs. There is heavy disk utilsation throughout, but
almost none from 43-60 secs.

If it would help for me to post post my Bootvis .bin
output on a website, let me know.

I don't understand why either, but even when running
idle, my CPU usage as shown by task manager seems to be
running up and down between 4% and 35%.

I run an up to date AV (Mcafee), and have checked the
system with Lavasofts adaware, so I'm not sure what is
going on.

Neil
 
P

Paul B T Hodges

Send me the boot trace file, I've got a 1Mb connection.
paul_hodgesatdslperiodpipexperiodcom

Obviously replace the at and the period with the usual characters

Did the flags in the registry indicate that the boot optimize ran ok?
What values did
OptimizeComplete
OptimizeError

End up with ?

You have a 7200rpm disk, is that an ide disk or scsi.
What speed of interface ?
If its ide, go into
control panel/system/hardware/device manager

Open ide/atapi controllers, and examine the advanced settings under both
primary and secondary controllers, When you find your hard disk, it should
be set to "USE DMA if available"
What is currently displayed for "Current Transfer Mode" ?
For an ATA100 disk, it should show Ultra DMA Mode 5

Paul
 
P

Paul B T Hodges

I missed a bit at the bottom,
Which processes are using cpu?

This shouldn't be affecting the time its taking to load the drivers.
 
N

Neil

Thanks to Paul for his help. The problem was that my
Windows boot drive on Device 0 of the Primary Channel had
gone into PIO mode, whilst still set for "DMA if
available". Looking around on the web, it seems this
can happen automatically by Windows, if it detects a
certain number of errors (CRC?) over a period. I have
had a some bad sectors, albeit on a new drive, going back
some months. All were fixed by running the chkdsk type
utility in XP, but obviously I had one too many, and that
affected the performance. This is explained in MS KB
817472.

Anyway, after uninstalling the Pimary Channel drivers and
rebooting, the startup is now cut by a minute, and all
feels more responsive again.

Neil
 
P

Paul B T Hodges

Well Done,

We got there in the end :)
Once you mentioned that the disk was going flat out during boot it was
starting to look I/O related, which was why I wanted to know what the ide
controllers were doing.

Ah well, there's always another problem out there, on to the next !

Paul
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top