How to speed up disk access?

B

brett

I'd like tips on speeding up disk access. I'm using an HP Pavilion
zd7000 laptop. The HD is a 4200 RPM, so pretty slow. I have indexing
services turned off and let Windows manage the page file. There is
1.5G RAM and the page file is 1.58G. I'm letting windows manage the
page file.

I did turn off the page file completely but this resulted in constantly
disk writing. I think it may have been due more to the two tips I
followed below. Shouldn't having no page file result in better
performance assuming I have the correct amount of RAM to handle
everything?

Here are the two tips, which are reg entry changes. I've since
reverted back to my old reg entries.

--------------------------------------------------------------

Memory Management: Kernel Paging and Cache Tuning

The "DisablePagingExecutive" entry in the registry prevents the kernel
(the core of the XP OS) from being rolled out to the page file. The
effect of this part of the tweak is to cause the OS to cache the OS
Kernel and its entourage to RAM instead of to disk, which makes XP far
more responsive.

The "LargeSystemCache" registry entry forces XP to allocate all but 4MB
of system memory, that is system memory, not avaliable RAM, to the file
system cache. The remaining 4MB of system memory is used for disk
caching, though XP will allocate more memory if it is needed.

A modern hard disk will transfer sequential data to and from disk at up
to 40MB per second, or even faster on some drives, but the
LargeSystemCache tweak means that effective transfer speeds of 1GB per
second or more can be obtained, depending on the amount of RAM in your
system and its operating speed. This is achieved because the
LargeSystemCache modification causes the OS to store data read from
disk in RAM. It means that the OS is always using the optimum amount of
RAM instead of leaving it untouched for future use that may or may not
occur. Without this part of the tweak, 200MB or more of RAM in a
typical 512MB machine goes completely unused.

Some I/O intensive applications may take a hit in performance from
changing the LargeSystemCache, so this particular component of the
tweak should not be applied to a system that is running either SQL
Server or Internet Information Server (IIS) because both of those
applications perform their own caching.

Start regedit and navigate to the following key:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\Memory Management]

Add these two lines, save the changes and reboot;

"DisablePagingExecutive"=dword:00000001

"LargeSystemCache"=dword:00000001

To see the effects of this part of the tweak, launch a large, memory
hungry application. Any of the Microsoft Office suite of applications
will do. Let the application load then exit from it. Fasten your safety
harness then launch the application again.

I have a striped RAID 0 array of two ATA100 7,200 RPM disks. The array
was lounging around on holiday in the sun and not doing much with a
SiSoft Sandra Drive Index of 28,000. The two registry changes above
caused the DI to triple from the original 28,000 to an upper mark of
85,000. A similar but scaled down performance increase can be expected
for ATA 33/66 disks.

Tip #2:
Processor Scheduling

This part of the tweak is impossible to explain without getting into
the technical ins and outs of binary values, bit pairs and bit masks.
Suffice it to say, this part of the tweak forces short, variable length
processor timeslices to be allocated to foreground processes three
times more often than those timeslices given to background processes.

Start regedit and navigate to the following key:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControl]

Change the dword value of Win32PrioritySeparation, save the changes and
reboot;

"Win32PrioritySeparation"=dword:00000026

NOTE: The Win32PrioritySeparation value of 26 is hexadecimal. this
corresponds to 38 decimal.

As with the cache tuning part of the tweak, this particular component
of the tweak should not be applied to a system that is running either
SQL Server or Internet Information Server (IIS) unless you are certain
that you want to slow down those background processes.


Thanks,
Brett
 
B

brett

Actually, I spoke to soon. After reverting back to the old reg
entries, I set the page file to none. I'm now using all RAM. It isn't
writing to disk all the time. I'll see how well this performs overall.
So far, it seems to be doing fine.

Brett
 
J

Jim

brett said:
I'd like tips on speeding up disk access. I'm using an HP Pavilion
zd7000 laptop. The HD is a 4200 RPM, so pretty slow. I have indexing
services turned off and let Windows manage the page file. There is
1.5G RAM and the page file is 1.58G. I'm letting windows manage the
page file.

I did turn off the page file completely but this resulted in constantly
disk writing. I think it may have been due more to the two tips I
followed below. Shouldn't having no page file result in better
performance assuming I have the correct amount of RAM to handle
everything?
No, turning off the page file is a very bad idea.
Here are the two tips, which are reg entry changes. I've since
reverted back to my old reg entries.

--------------------------------------------------------------

Memory Management: Kernel Paging and Cache Tuning

The "DisablePagingExecutive" entry in the registry prevents the kernel
(the core of the XP OS) from being rolled out to the page file. The
effect of this part of the tweak is to cause the OS to cache the OS
Kernel and its entourage to RAM instead of to disk, which makes XP far
more responsive.

The "LargeSystemCache" registry entry forces XP to allocate all but 4MB
of system memory, that is system memory, not avaliable RAM, to the file
system cache. The remaining 4MB of system memory is used for disk
caching, though XP will allocate more memory if it is needed.

A modern hard disk will transfer sequential data to and from disk at up
to 40MB per second, or even faster on some drives, but the
LargeSystemCache tweak means that effective transfer speeds of 1GB per
second or more can be obtained, depending on the amount of RAM in your
system and its operating speed. This is achieved because the
LargeSystemCache modification causes the OS to store data read from
disk in RAM. It means that the OS is always using the optimum amount of
RAM instead of leaving it untouched for future use that may or may not
occur. Without this part of the tweak, 200MB or more of RAM in a
typical 512MB machine goes completely unused.

Some I/O intensive applications may take a hit in performance from
changing the LargeSystemCache, so this particular component of the
tweak should not be applied to a system that is running either SQL
Server or Internet Information Server (IIS) because both of those
applications perform their own caching.

Start regedit and navigate to the following key:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\Memory Management]

Add these two lines, save the changes and reboot;

"DisablePagingExecutive"=dword:00000001

"LargeSystemCache"=dword:00000001

To see the effects of this part of the tweak, launch a large, memory
hungry application. Any of the Microsoft Office suite of applications
will do. Let the application load then exit from it. Fasten your safety
harness then launch the application again.

I have a striped RAID 0 array of two ATA100 7,200 RPM disks. The array
was lounging around on holiday in the sun and not doing much with a
SiSoft Sandra Drive Index of 28,000. The two registry changes above
caused the DI to triple from the original 28,000 to an upper mark of
85,000. A similar but scaled down performance increase can be expected
for ATA 33/66 disks.

Tip #2:
Processor Scheduling

This part of the tweak is impossible to explain without getting into
the technical ins and outs of binary values, bit pairs and bit masks.
Suffice it to say, this part of the tweak forces short, variable length
processor timeslices to be allocated to foreground processes three
times more often than those timeslices given to background processes.

Start regedit and navigate to the following key:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControl]

Change the dword value of Win32PrioritySeparation, save the changes and
reboot;

"Win32PrioritySeparation"=dword:00000026

NOTE: The Win32PrioritySeparation value of 26 is hexadecimal. this
corresponds to 38 decimal.

As with the cache tuning part of the tweak, this particular component
of the tweak should not be applied to a system that is running either
SQL Server or Internet Information Server (IIS) unless you are certain
that you want to slow down those background processes.


Thanks,
Brett
The disk drive in the laptop limits the speed that you can achieve. If you
could somehow find a 7200 rpm drive that would fit and not consume so much
power, then you would find a dramatic benefit.

Jim
 
B

brett

Why do you say turning the page file is bad? So far, this has given me
great performance.

Brett
 

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