What causes page faults on a terminal server? (Windows 2000)

We do monthly reports on all our servers and the page faults for one of our servers (our slowest one) hovers around 800/sec. I am just wondering what type of things cause page faults in general and what I should be looking at if I want to lower these numbers. We do not use Citrix, and although it used to be installed on the machine - it has now been removed. Removing Citrix did nothing to lower the numbers.

Who is Participating?
Page faults are caused when an OS is paging too much.  Paging would be defined as an OS writing to the hard disk page file to make more memory available.   The page file is typically used to store information normally meant for memory on the hard disk.  Typically this is done with information which has not been referenced in physical memory recently.  

On a system which does not have enough memory the OS has to page quite a bit more information.  The can occur also occur if an application is has a memory leak or is written incorrectly.  

Page faults are normal; a lot of page faults indicates the server is overworking itself swapping information between real physical memory and pagefile memory.
Dmuccurdy you nailed it on the head..

That is an excellent answer..

take his advice..
Brian LowranceNetwork AdministratorCommented:
dmccurdy51 is right.

How much RAM do you have in the server?  Add more RAM!

Open task manager. (Press CTRL-ALT-DEL and then choose Task Manager).
Choose the Performance tab.
How much Available Physical Memory (K) do you have?  Less than 100,000 (approx 100MB), you have a problem.
Check this during PEAK times to see what happens when your server is loaded with users running several apps.

Your server will always use the Page File (Swap Space), which is space on the hard drive used as RAM.  This Swap Space is much slower than physical RAM.  However, a large usage of the swap space is a problem.  If your available Physical Memory is low, and your Commit Charge Total is high, then try to add more memory than the Commit Charge PEAK (This is how much memory total (Swap space + Physical memory), that your server has required since it was last booted.).
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

You could try running a disc cleanup this may help to reduce page faults.
For the disc cleanup do first btw, at start all programs accessories system tools.
Check in your control panel administrative tools event viewer applications these can help provide system information and problem areas.
Run a defrag as well.
Even servers need a litle cleanup occasionally.
Rightclick C drive properties tools defrag, and analyze it. See lots of Red?

The Sysinternals web site provides you with advanced utilities, technical information, and source code related to Windows internals that you won't find anywhere else.

Please take a look at Process explorer
Process Explorer shows you information about which handles and DLLs processes have opened or loaded.

Windows 2000 Resource Kit tools?

oh forgot to mention task manager, open task manager at the VIEW click on select columns then add virtual memory size, set it on processes now you can see what is hogging the virtual memory.
StickyDragonAuthor Commented:
Well we have 3600MB of ram installed. I thought this was the max that the board supported but I'll check if more can be added. As far as the defrag goes, unfortunately I am not able to do that. Reason being is that the server is used 7 days a week and we only have about a 7 hour window each night where we can actually do any sort of maintenance on the server. We have tried a defrag before and unfortunately it is not done fast enough so we had to end it. Thanks for your ideas, I will definitely look into upgrading the RAM.
If you have 3.6 of Ram installed you are going to need another solution.  2003 Standard only support 4gb or ram.  

How many users are you trying host at once?  What type of application, is it Java related?   When looking in task manger what processes are taking up the most memory?

StickyDragonAuthor Commented:
Looking at the server now and there is less than 50% memory usage, which is typical. IEXPLORE.EXE and AcroRd32.exe are near the top in memory usage, but they look pretty normal as well. The only applications they use are Office 2000, Internet Explorer, Acrobat Reader, Printing... and that is about it.

This server is slower than our other server, and my opinion was just that very reason as to why there are more page faults on this one than our other server. There are probably about 100 users or so logged on during the day, which is about the same as the other (faster) server. My boss would like the 2 servers to have an equal amount of page faults and I have moved several groups of users from this server to our other one but it hasn't made any difference so I am thinking it is a waste of time.
Brian LowranceNetwork AdministratorCommented:
Some things to think about..
 - How is your processor usage on the slower server?  Is this a single processor server?  If your processor usage is high, Does your server board allow another processor to be installed?

 - Where is your Virtual Memory (swap space)? Is it on the same physical drive as your operating system and/or data?  If so, install a drive that is can be solely used as a swap drive, and not included in any RAID array's.  (Right Click on My Computer, Choose Properties, Choose the Advanced Tab, Choose Performance Settings, Choose the Advanced Tab again, under Virtual Memory click Change.  Now you will see which drive(s) your swap space is being stored on.)

 - Where is your applications/data stored?  Are they running from the same drive the operating system is on?  Possibly install a Hard Drive or 3 (RAID 5) and place your Office and other applications on that drive/array.  
StickyDragonAuthor Commented:
It's a Quad Processor computer, all 4 CPUs installed. The performance on the server is fine, it's just the page faults are a little higher than our other servers.

Good point about the swap file. Our applications and swap space are all on the same RAID array. I'll definitely look into that in the future.
Brian LowranceNetwork AdministratorCommented:
Another thought...
  Page Faults occur when the O.S. tries to obtain/store data to/from RAM, and the "physical" address is not available causing the OS to store and retrieve using the swap space..
  You said you have 3.6GB of RAM.

  Operating systems based on Microsoft Windows NT technologies have always provided applications with a flat 32-bit virtual address space that describes 4 gigabytes (GB) of virtual memory. The address space is usually split so that 2 GB of address space is directly accessible to the application and the other 2 GB is only accessible to the Windows executive software.

  You can make the OS reserve 3GB for Applications and 1GB for OS, instead of 2GB each.  This is done in the Boot.ini file with the /3GB switch and requires a server reboot as described here:  http://www.microsoft.com/whdc/system/platform/server/PAE/PAEmem.mspx
StickyDragon I just remembered another simple problem xp has.
roaming profiles, Policies may be set to remove profiles on logoff. Doesn't always happen. This leaves
outdated or corrupted roaming profiles sitting on the servers.
Frequently, a driver or application leaks registry handles, which means the driver or application opens the registry but doesn't close it.
 You can fix this by using Uphclean  "User Profile Hive Cleanup Service" from microsoft.
What's happening is one program is trying to access another program's memory. If a program tries to change a memory location that doesn't belong to it, the processor generates a page fault, and Windows will then stop the offending program. There's nothing really that you can do about it.

ZDNet Webopedia says, "An invalid page fault or page fault error occurs when the operating system cannot find the data at all. This usually happens when the virtual memory area, or the table that maps virtual addresses to real addresses, becomes corrupt."
Try running ScanDisk monthly and see if that reduces the occurrence of these errors.
And to help with your problem on defragging, this will become essential, as time is an issue here is one that is very fast.
Power Defragmenter is a GUI (Graphic User Interface) application for program Contig by Sysinternals. Contig is a very powerful defragmentation application designed for Windows NT/2000/XP operating systems.

Process Explorer shows you information about which handles and DLLs processes have opened or loaded.
The unique capabilities of Process Explorer make it useful for tracking down DLL-version problems or handle leaks, and provide insight into the way Windows and applications work.

StickyDragonAuthor Commented:
I have UPHClean already installed. Was installed last year for a reason that I can't remember now... Installed Process Explorer and looking at my 2 terminal servers. On the server in question there are 4,000,000 page faults on the print spooler and nothing else comes close to that. On my other server there are only 600,000 page faults for print spooler but then there are 48,000,000 page faults for Symantec Settings Manager. I looked this up on the Symantec site and that is apparently something for scanning POP3 email and can be removed with a reinstall. Anyways, back to the server I am asking about here... 4 million page faults on print spooler, but looking at the page fautls delta I see it jump up as high as a few hundred or even thousand for a second whenever someone is opening an Office 2000 application.
wow, you know it could be related to both the print spooler and symantics. Norton may scan each and every document.
Just an idea if you have a backup anti virus, uninstall symantics, it has a lot of known high cpu usage.
The print spooler page faults could be caused by many things from incorrect documents trying to be printed, incorectly deleted print jobs.
fonts not recognised.

Ensure you have the latest printer dirvers for your printer .All the updates for this server.

A sustained high rate of hard page faults might indicate a ... Splinfo.exe: Print Spooler
Have you checked the DR Watson logs?

if there are too many .SPL (spool) files and/or .TMP (temp) files in the spooler directory. Parameter1 is a memory address where the violation occurred.

Solution: Remove the .SPL, .TMP, and any .SHD files currently in the print spooler directory. The default spooler directory is C:\WINNT\SYSTEM32\SPOOL\PRINTERS. After you remove the files, restart the print spooler. Any jobs in the spool directory will be lost.

If you're unable to delete the files, turn the print spooler off. To do this, click Start, Settings, and Printers. Right-click the appropriate printer and select Properties. Select the Advanced tab and disable print spooling.

Page faults,print errors:
Brian LowranceNetwork AdministratorCommented:
Have you tried the /3GB switch in the Boot.ini file yet? (as mentioned in the post that I made Date: 05/24/2006 06:19PM CDT).  Did that have any effect on your total page faults?
StickyDragonAuthor Commented:
I haven't because I am unable to reboot the server until the weekend. However I believe I have "solved" the problem enough to get it off my plate. It's quite stupid, but the other terminal server was getting counter data every 1 seconds while this one was every 5 minutes. I changed it to 15 seconds and now the match with the same number of page faults (at least for one day's worth of data). So if that continues and my boss get's off my back about it, then that's good enough for me. Will give it a few more days to make sure that the problem is taken care off. Thanks for all your ideas guys.
lets hope so, good Luck.
Merete :)
Date: 05/27/2006 03:05AM EST
 Author Comment  
I haven't because I am unable to reboot the server until the weekend. However I believe I have "solved" the problem enough to get it off my plate

I would suggest refund him as he does state he solved it .:)
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.