How can I reduce page faults?

I'm running Win98 on an AMD K6/300 with 128 megs of RAM on a M-Tech R540 mainboard (TX chipset) and an IBM Deskstar 14 gig UDMA hard drive. I routinely run between 4 and 6 applications on the system at the same time. After the system is on for 3-4 days, the system slows down enough to lose a race to an old an 80286! I researched this problem and found out I am getting between 50 and 100 page faults (using System Monitor). If I reboot, the problem does not return for several days. Page faults are caused when the program does not find what it needs in cache or main memory, so it looks in the DLL or elsewhere for what it needs. This slows the system down to a crawl. My C partition is 3 gigs, and has over 2 gigs free for the swap file which is on drive C. I've got enough memory too. Why am I getting these page faults? Right now the system has been on for 2 days and the page faults are creeping up to about 60. Sometimes they will drop to 10 and other times they will peak at over 200! Help!
Who is Participating?

Improve company productivity with a Business Account.Sign Up

bobinmadConnect With a Mentor Commented:
I appreciate the opportunity. The important thing is that you are up and running.
Have you tried to go and set the setings for your swap? What applications are you running?
Page faults occur on every system - but when they are consistently high and do not drop off, there is a problem - this is what MS says:

Try decreasing the hardware acceleration for your display adapter.
Hardware acceleration specifies the degree of acceleration you want for your graphic hardware. In many cases decreasing this setting may resolve some problems in displaying graphics.
To decrease the hardware acceleration for your display adapter

Click Start, point to Settings, click Control Panel, and then double-click Display.
On the Settings tab, click Advanced.
On the Performance tab, move the slider bar to lower the Hardware acceleration setting to None.
Click OK, then click OK again to return to Control Panel.

Does this solve your problem <g>

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

TomgAuthor Commented:
I've moved the slider to the left and will try it and let you know. It might be a few days though.

Did you run a Scandisk?  Did you check that your cooling fan is really cooling?  
Tomg, you are basically correct regarding page faults and what causes them, but regardless of whether they are happening or not, you should not have a growing problem that slows your system to a crawl.

Here's the details on Page Faults and how they effect the core component of Windows 95 and 98, and actually Windows NT as well.

14 (0Eh): Page Fault
The Page Fault interrupt allows the operating system to implement virtual memory on a demand-paged basis. An interrupt 14 usually is issued whenever an access to a page directory entry or page table with the present bit set to 0 (Not present) occurs. The operating system makes the page present (usually retrieves the page from virtual memory) and re-issues the faulting instruction, which then can access the segment. A page fault also occurs when a paging protection rule is violated (when the retrieve fails, or data retrieved is invalid, or the code that issued the fault broke the protection rule for the processor). In these cases the operating system takes over for the appropriate action.

Unfortunately I wish I could support bobinmad's theory on the graphics/video issue, but I can't.

As a test, click Start, Programs, Accessories, System Tools and then system information. Expand the software area and check to see what is running on your system at idle. Repeat this process during normal operation and compare the two. Now try and eliminate some of the non-windows items and see of there is an improvement. The problem your suffering is not common to Windows 98, but usually to third party drivers and some K6 installations.

As another test, use windows explorer and drill down to your windows\startupmenu folder and check what is there. Make a copy of these shortcuts and save them to a temp folder. Now create a second temp folder such as C:\temp2, and transfer as many of these files as possible to Temp2. Restart your system and run it and test it. One at a time, begin adding them back, testing the systems performance after each one.

One of the most frustrating technical problems you can try to solve is if you keep running into General Protection Faults (GPF) or Protection Errors. Below are some of the things to look for to correct these problems, and solutions that have worked for some people.

 Video Drivers
A large percentage (I would personally guess at 60% or more) of reoccurring GPF problems are due to video drivers that are either buggy or conflict with some other hardware. Make sure you are using the latest version of the drivers for your card. I tell everyone to check this first when dealing with GPF problems.
If you have the problems quite often, one test is to switch from the driver that is specific for your video card to one of the generic Windows 95 drivers (the generic SVGA or VGA drivers). Run with the generic driver for a bit and see if the problems go away. If they do, then you've pretty much narrowed the GPFs down to that. Another good test is to go to the Video Performance tab (My Computer/Control Panel/System/Performance/Graphics) and move the slide bar a notch or two to the left. See if the problems go away; if so, it's a video issue, and new drivers may solve the problems.

 Faulty Secondary Cache
If you are running a system with an external secondary cache and you get a lot of GPF errors that seem to occur randomly, you may want to try disabling the cache. This can normally be done through your BIOS settings. If the GPFs stop, then they were likely being caused by a problem with that cache (possibly some bad chips). Replace the cache and reenable it via BIOS. Note that in at least one reported case, the faulty cache seemed to perform just fine under Windows 3.1, but caused constant GPFs under Windows 95. Replacing the cache solved the problem.

 Faulty Memory
It's possible that a SIMM is borderline, and occassionally giving an error that causes a system lockup or GPF. If you have a lot of RAM, try removing some of it and see if the problem continues. If not, then the RAM you removed is likely bad. If you still have the problems, swap what you took out with what you left in the system, to check those SIMMs.

TomgAuthor Commented:
Dankh, I was referring to page faults, not GPF. I am not experiencing a crash or the blue screen of death or exception errors. The system just slows to a crawl. I'm going to try some of the suggestions and let everyone know. Thanks for all the help.

Tim HolmanCommented:
  What application are you running ?
  Sounds like it's leaking....
  More memory would improve the situation, but will only postpone the inevitable if you've got a leaky application.
  It could be faulty memory, but this is unlikely.
  Also - you should let Windows manage your swap file settings, or if you're really bothered, set the minimum page file to the maximum size you've ever seen it and go from there.
  I've noticed that using Netscape Communicator that after about approximately 4 hrs, my system will slow down drastically. And my memory is still well over 80%???

Consider this 98 optimization:
Although Windows 98, when running on an identical setup as Windows 95, outperformes
the latter, there are still a few "tweaks" to improve the performance of Windows 98.

Although todays hard disk drives are fast, you might want to limit the use of the Virtual
Memory (swap file). One easy way to achieve this is to limit the amount of memory
Windows allocates to the Disk cache (replacement for Windows 3.* smartdrive).

You can check on the amount of memory used by Windows for the Disk cache by using
System Monitor. If you haven't installed it, go to Control Panel (Start > Settings > Control
Panel) and choose Add/Remove Programs. Select the Windows Setup tab, select System
Tools from the Components window and press Details. Scroll down to the entry for
System Monitor and click OK. This will place an entry for System Monitor in your
Programs > Accessories > System Tools.

To view your Disk cache size:

1.Start System Monitor (select Start > Programs > Accessories > System Tools > System

2.To add an item to be displayed, select View > Add Item

3.The entries for the Disk Cache size are found under the Memory Manager category (Disk
cache size, Maximum disk cache size, Mid disk cache size, Minimum disk cache size)

4.You can also find the items to monitor your Swapfile here

On a typical machine (32Mb RAM installed), with only Windows 98 installed, the Disk
cache size (right after a fresh reboot, with nothing else running) was reported at 12Mb,
while the Maximum disk cache size could go up to 27Mb. If you realize that many Servers
run with 4Mb or 8Mb Disk cache, you can see that this is a waste of resources.

To limit the amount of memory used by Windows for the Disk cache:

1.Open System.ini (select Start > Run and in the Open: box type sysedit)

2.Add the following two lines to the [vcache] section (add the section if it's not there):


NOTE: With 64mg ram I use this setting:

Note: Some users only use a maximum setting, others a maximum and minimum setting.
Just experiment and find what's best in your situation.

These values limit the size of the vcache (in kilobytes), so that Windows is prevented from
using more of your available RAM for the vcache. This will increase the amount of free
memory available to your system, so that when you open another program it is not paged
to disk immediately due to lack of free memory.

The MinFileCache (=Minimum File Cache) setting prevents Windows from shrinking the
cache below 1024Kb. As a rule of thumb, use 25% of your RAM for the MaxFileCache. In
general, most users say that a MaxFileCache (=Maximum File Cache setting) of up to 9Mb
works best for them, even if they have more RAM available. Just experiment with these
settings to find what works best for you.

The settings explained above are valid if you use FAT16 on your hard drives. When using
FAT32, we advise you to leave the vcache managed by Windows. The reason for this is
that with FAT32 in combination with an "aligned" program, Windows 98 can run
applications from the disk cache itself. Unfortunately the only "aligned" programs so far are
the MS Office programs so until more authors align their programs on 4K page boundaries,
the over whelming majority of programs will still be causing two copies of an app to be in
RAM until the disk cache is re-used. This would mean that for the time being the Windows
95 guidelines for assigning VCACHE size (as above) are still good guidelines to follow for
Windows 98. If you don't use FAT32, then this is a non-issue since with FAT16 the
alignment process does not work and Windows 98 can never run an application from the

Optimizing the Swap File

The best way you can ensure high swap file performance is to make sure that the disk
containing the swap file has enough free space so that the swap file size can shrink and
grow as needed.

We do not suggest setting a minimum/maximum swap file size. Windows 98 does a much
better job managing the swap file then Windows 95.

If you have multiple drives, the swap file should be placed on the drive with the fastest
performance, unless that disk is overused.

If you put the swap file on a dedicated partition, use the largest possible cluster size (32k).

If you have 24Mb or more RAM, you can optimize performance by selecting Network
server as the typical role of your computer:

Change the Typical role of your computer

1.Select Start > Settings > Control Panel

2.Open System, select the Performance tab, click on File System under the Advanced
Settings header

3.On the Hard Disk Tab, select Network Server as Typical role of this computer.

The setting you use controls the size of various internal data structures used by the 32-bit
file access driver (VFAT).

When you use the Mobile Or Docking System setting, VFAT allocates memory to record
the 16 most recently accessed folders and the 337 most recently accessed files. This
consumes approximately 4Kb of memory.

When you use the Desktop Computer setting, VFAT allocates memory to record the 32
most recently accessed folders and the 677 most recently accessed files. This consumes
approximately 8Kb of memory.

When you use the Network Server setting, VFAT allocates memory to record the 64 most
recently accessed folders and the 2729 most recently accessed files. This consumes
approximately 16Kb of memory.

Optimizing I/O Transfers by Using Direct Memory Access

The advantage of using direct memory access (DMA) with integrated device electronics
(IDE) CD-ROM and disk drives is that it lowers CPU usage during I/O transfers.

To Bus Master your system and determine whether your drive supports DMA:

1.Open System Properties in Control Panel (select Start > Settings > Control Panel)

2.Select the Device Managertab

3.Click the + sign next to the Disk drives entry

4.Select the drive you want to enable for DMA and click Properties

5.On the Settings tab, there should be a DMA check box, if this box is unchecked, place a
checkmark. If there is no check box (or it is grayed out), your motherboard chipset does
not support the bus master interface. If the check box is not checked after you restart your
system, your hard disk probably has been automatically disabled again because the hard
disk may not support a multiple-word DMA protocol. For more information see
Microsoft's Knowledge Base Article No. Q159560.

You can use the same procedure to Bus Master your CD-ROM Drive.

NOTE: You do not need to install Bus Master drivers, they are already build in the
Windows 98 system.

See this page on information how to test your system for DMA capabilities.

Optimizing DVD File System Performance

Digital Video Discs (DVDs) uses the main file system cache (VCACHE), and there are no
performance settings for end users to change.

Optimizing Removable Disk Drive Performance

Windows 98 gives you the option to use write-behind caching to improve the performance
of removable disk drives, such as the Iomega ZIP or JAZ drive.

To set write-behind caching for removable disk drives:

1.Open System from Control Panel, select the Performance tab, select File System, and
then select the Removable Disk tab

2.Select the Enable write-behind caching on all removable disk drives check box and click

If this causes a problem with disk operations, clear the Enable write-behind caching on all
removable disk drives check box.


Run only one network client, if possible. For example, configuring a computer with both
the Client for Microsoft Networks and Microsoft Client for NetWare Networks requires
more memory than running a single client. Run a single network protocol. For example,
running Microsoft TCP/IP, NetBEUI, and the IPX/SPX-compatible protocol requires a
larger working set than running a single protocol. Run the fewest possible network
services. Running File and Printer Sharing services, the Microsoft SNMP agent, and so on,
all require memory and increase the working set of Windows 98.
Network Settings can be changed by accessing Control Panel > Network.

MS Office

If you have MS Office installed, you can increase the performance of your computer by
removing Find Fast from your StartUp folder. Normally Find Fast will from time to time
index the files on your drive(s), to speed-up opening them in MS-Office. We personally
don't care if we have to wait the additional mili-seconds when opening a document in
Word, at least we know what we're waiting for!

To reclaim the space used by the find-fast index, go to Control Panel, select Find Fast,
select your hard drive(s) and from the Index menu, choose Delete Index. When you've
deleted your Index, choose Close and Stop.

Create a permanent Swapfile about 300 MEGS. that should do it. I use 192 Megs of ram and I do not have those problems.
From what I've seen, 128 ram often causes system memory problems.
The computer doesn't know what to do with it all.
That's why we make these little tweaks.

From alt.windows98
It might.  It depends on how the chipset on *your* motherboard caches the
ram.  It also depends on what you're doing with it.  In short, many Intel
socket 7 motherboards won't cache more than 64 megs of ram, so they
suffer a speed hit.  However, if your work calls for lots of ram (like
manipulating large image files) and your system is working out of the
swapfile, then you'll still enjoy an overall improvement because even
uncached ram is hundreds of times faster than a hard disk swapfile.

For a good summary of why some motherboards don't cache more than 64megs,
Check your mainboards documentation to identify what chipset it is using.
From what I understand, the L2 cache in sytems based on the intel 430TX and
430VX chipsets only recognized the first 64 Megs of RAM. Adding more RAM to
one of these systems would slow down your system, because the L2 cache
couldn't handle the extra RAM. If you are running a Pentium II system, I
think you are pretty safe in assuming that adding more RAM will not slow
your system, as the chipsets used in the Pentium II's are able to cache all
the system RAM.
It should be mentioned that more RAM CAN and WILL slow down your computer if
your computer can't cache the extra memory.  No, more is not always better.
64Mb Memory Limit?

As if the 640K limit wasn't enough, here's another
Applies to:
430FX Chipset Motherboards
430VX Chipset Motherboards
430TX Chipset Motherboards
Windows 95/98
I read somewhere else. that if you have 128 megs with 512kb then you will be able to cache it. I think it depends on the version of the chipset. Some will not and other will.
Memory Fragmentation can also be a major cause of your problems.

Try this util Called FreeMem.

At set periods of cpu inactivity, the memory gets optimized.


Tomg, it sounds more like a program that you have installed that is causing a memory leak then your system or Windows 98. For a test (it won't hurt your system), reload Windows 98 and then go to the update page and load all of the updates even remotely relevant and then try your system. This same problem occurred in Windows 95 and MS fixed it, but certain programs caused the same problem like MS Office Pro.
Sorry to break it to you but high page faults result in low proformance, hence you do NOT have enough RAM.  Wha ttype of aps are you runnin?  Had same prop on a server, you need more RAM.
(Which is pretty sad)
Microsoft just issued an alert for this. On Win 98 systems they are still trying to resove it.
For now they recommend bringing the CPU speed down to 300 to do installs and updates.

Microsoft® Windows® 95 Update for AMD-K6®-2/350 and Above Patch for Windows 95
OEM SR2 and above

Please note that this patch will not resolve issues associated with any other versions of
Windows 95 other than the OEM SR2 version. If you have any other version other than
OEM SR2, please contact technical support for further options available to you. To
determine the version that you have on your system, please read below.

If you are not sure which version of Windows 95 you have, you can find out simply by
checking your System Properties. To do this, right mouse click on "My Computer" and
select "Properties". An OEM SR2 system will show a designator, such as "4.00.9500 B" or
"4.00.9500 C" as the version. The number may vary slightly, but the letter designator will
be a "B" or a "C" for the OSR2 version. Version designators without a "B" or a "C", such as
an "A" or nothing after the number, cannot utilize this patch. For these versions, please
contact technical support for further assistance to resolve this issue.

Problem(s) this Update Resolves

When you are starting Windows 95 OSR2, OSR2.1, or OSR2.5 on a computer with an
AMD-K6-2 processor running at speeds of 350 MHz and above, you may receive one of
the following error messages:

Device IOS failed to initialize.
Windows Protection Error.
You must reboot your computer.

The first error is a result of a divide exception in IOS.VXD, the second is due to a similar
error within ESDI_506.PDR or SCSIPORT.PDR.

This observation is caused by a software timing loop that is sensitive to processor
frequency, and is not a processor erratum. This DOES NOT occur with Windows 98 or
Windows NT®. AMD has worked closely with Microsoft to enable a publicly available
solution which is available below.

This problem is very intermittent at 350MHz. Note that it is necessary to reboot the
computer after the error occurs. If the error does not occur, the system will run normally.

Microsoft Knowledge Base reference article(s): Q192841 AMD K6-2/350 CPU Windows
Protection Error at boot time.

How to Install

If you agree with the Software Usage Terms set forth below, please press the "Accept"
button to begin the download process. If you do not agree with the Software Usage Terms,
press the "Decline" button. Copy the file AMDK6UPD.EXE into an empty folder, and run
AMDK6UPD.EXE to install the update.

You may be warned that you are about to replace a newer file with an older version of the
file. Generally, you should the keep the newer file, and choose not to replace it with an
older file.

Restart the computer for the changes to take effect.

How to Uninstall

Using Windows Explorer, locate the file AMDK6_UN.INF in the Windows\INF\QFE
folder, right-click on the file AMDK6_UN.INF, and choose Install.

You will be prompted for the Windows 95 installation CD or diskettes. Choose the
appropriate path. You may beprompted to replace the newer file with an older version of
the file. To uninstall this update, choose to

Replace the newer file.
Restart the computer for the changes to take effect.

File Information

Windows 95 Version 4.00.950 B (OSR 2 & OSR 2.1):
File Version Date/Time Size
ESDI_506.PDR 4.00.1118 09/04/98 11:18 am 24,426 bytes
HSFLOP.PDR 4.00.1113 08/03/98 11:13 am 25,249 bytes
SCSIPORT.PDR 4.00.1112 09/04/98 11:12 am 23,158 bytes
CDFS.VXD 4.00.1112 01/15/97 11:12 am 59,153 bytes
DISKTSD.VXD 4.00.1112 01/15/97 11:12 am 18,809 bytes
INT13.VXD 4.00.1112 01/15/97 11:12 am 9,955 bytes
IOS.VXD 4.00.1113 09/04/98 11:13 am 68,962 bytes
VFBACKUP.VXD 4.00.1112 01/15/97 11:12 am 18,197 bytes
TOMG, the answer is wrong, you are not using a AMD-2-K6 350.
you are using a 300, that has nothing to do with it. and it only works for OSR2.
not WIN98.
"""When you are starting Windows 95 OSR2, OSR2.1, or OSR2.5 on a computer with an
    AMD-K6-2 processor running at speeds of 350 MHz and above, you may receive one of
    the following error messages:""""

that it is not your case.

read in that page, and check the links. no place mention it affects WINDOWS 98
Tom, have you given any consideration to the possibility that this may be a motherboard Bios issue?
TomgAuthor Commented:
the mainboard has an Award BIOS which has been updated to the newest version. I forgot to mention that I was running 64 megs of RAM and upgraded to 128 megs trying to fix the page fault problem. So far, it still slows down after 3-4 days. I can't reply or accept an answer until I try the suggestion for 3-4 days. Could you explain how the BIOS could cause this? I'm interested...

Tom, we as an OEM (as well as motherboard manufacturers) have found that some Bios installs that were originally designed for Intel based motherboards don't work well with AMD processors. A large number have developed special Bios's to work with AMD processors due to the way that processors handles instructions. Even though you may have a most recent Bios, it may not be suitable for AMD.
TomgAuthor Commented:
I appreciate your comment. The mainboard is an M-Tech R-540 and was listed by AMD as one they recommended. Also, the AMD K-6 is on the list of supported processors on the M-Tech web site. Are you suggesting that an Intel processor might not cause this? Or should I switch main boards?

Tom, I'm not suggesting either really. If the manufacturers have tested these components together, there must be a way to make them work, but page faults are usually generated from hardware incompatibilities. Faced with the identical problem, I would start with the basics, motherboard, CPU, Memory and make sure they were setup together and that the recommended Bios for that combination was in place. Then I would add the other necessary "compatibile" components. Sometimes it can be something simple like a mouse or video driver, while others it could be a bad chip in the upper memory area. Quality memory is extrememly important today.
TomgAuthor Commented:
I've increased the points to 500. It's doing it now. Page Faults are fluctuating between 0 and 144 and the Page Fault screen in System Monitor has a sawtooth pattern. I'm using Pny memory. Matrox Mystique PCI 8meg SDRAM video card. Logitech First Mouse+. Windows Explorer just crashed. I lost all my icons in the taskbar. When I try to reply to any email message in Outlook Express it says it can't reply. Help! I'm going to have to reboot to (temporarily) fix this. I never get the Blue Screen of Death, though. Should I run NT if I want to run this many apps at once?
Consider the problems people have with 128 mg ram and see these articles.
It may help.

Have you tried using slow bios memory settings yet?
TomgAuthor Commented:
Smeebud, I had this problem with 64 megs of RAM also.

Did you read the go to the sites I mentioned?

TomgAuthor Commented:
Smeebud, I did go to those sites and learned quite a lot, but they all reference what happens when you use more than 64 megs of RAM. I had this problem with 64 megs of RAM and added another 64 just to see if it got better or worse. It hasn't changed at all.

Please see
"Error Messages and Fixes"
"Fatal Exception Errors and Fixes"

And read the articles.

After reading and re-reading everything here, I still feel there is an issue between the processor and other components.
TomgAuthor Commented:
I changed the swapfile to 300 megs fixed and the problem is gone. I want to award the points to the right person. bobinmad said "Have you tried to go and set the setings for your swap? What applications are you running?" Since bobinmad mentioned the swapfile first, I think that person should receive the points.
So he/she needs to send that message as an answer so I can award the points.

Tomg, I'm not disagreeing with your decision, but while adjusting the swap file may have temporarily cured the problem, I don't belive that the swap file and windows memory management is the problem, it doesn't make sense. That would only work if you were experiencing limited hard disk space, and by your own admission you have over 2 gigs of space available. Limiting the swap file shouldn't have any effect on page faults.
Wednesday, December 30 1998 - 10:09AM PST  <=== here I said the 300 MEGS of PErmanent swapfile. Nobody Else Gave you the right size of it.
Tim HolmanCommented:
 You should set a swap file to be a minimum size of the maximum you've ever seen it after performance monitoring.
  Setting an arbitrary limit of something so huge that this error will never happen (ie 300Mb) is a WASTE of space !
  I'm sure if you left your system for several days this time, the same problem will happen as your memory is being eaten up by something.                                                         It would be nice if you could start monitoring a few other things alongside these page faults, to see if something else is causing them - eg disk cache, file-system performance, processor usage, memory manager (pages mapped from cache, swapfile defective, unused physical memory...).  You could go on forever, but page faults ARE NOT the problem, it's whatevers causing them !!!   Accept this anwser and close this question at your own risk !!  
Get cacheman from

It worked wonders on my system.

Atta_Bot Istal, jump right on them points even though the original thought wasn't yours!

Tom, Although I run an Intel PII on a supermicro motherboard, my OS is essentially the same. While at this site, and because of this sites slow server response, I generally have duel IE browsers open to work on two problems at once, Word 97, Outlook98 and my OCR software. While I have 256MB of memory, I still don't suffer any page faults, nor have I set a permanent swap file. I think you need to look closer at your system, especially issues surrounding Kernel32 and any programs you have running that rely on it. Have you applied the Win98 Kernel update yet?
Tim HolmanCommented:
I run about 8 IE sessions all at once most of the time (email, stock market stuff, EE, MSKB and whatever link looks interesting...) - no problems for me, and I've only 32 Mb.....
There's no question that running more instances of programs will slow down your machine, but this won't be a direct cause of page faults.....
TomgAuthor Commented:
Istal, the original comment about swapfile size was posted by bobinmad. I need _him_ to send an answer. I've had the system running for 5 days straight, and my page faults have not gone above 6! They used to teeter above 200 at times. Although some of you do not believe this, you'll have to take my word for it. Nothing else was changed other than fixing the swap file size. I do have over 2 gigs free on my C:\ partition that holds the swap file, and no other screens in System Monitor showed problems.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.