Well in short, your system could be unusable.
Raymond Chen mentions it here how 3GB and PAE conflict with each other somewhat. I’m not going to dive into the subject too much as it was covered extensively by Raymond (link at bottom of post), but I wanted to show you what it looks like when the system tips over. As of Windows 2003 SP1 you should more than likely use /userva with /3GB if you need to use /3GB at all. I would choose a values around 2970 that would give you over 20,000 sysPTES’s free, which should allow the system to function without tipping over, but this is something that you’ll need to “tune” for your particular app. You also have to keep in mind that you’re reducing the space for the pools as well.
Really what you should do is reevaluate why you’re running 3GB in the first place, perhaps what you’re really looking for is PAE/AWE and just have 3GB in place by mistake. Also you should ask yourself, why am I NOT running an x64 hardware and OS?
You also might be looking to boot with NOPAE which in conjunction with 3GB is covered well here, this is covered from an exchange perspective here if that is the app in quesiton. If you’re system has hot-swappable RAM, then the OS is going to make sure it boots with the PAE kernel in case you add more RAM “on the fly”, you can disable this by using this reg key.
I might have created more confusion for you in this post, but I have provided the links to the sites with all the answers you’ll need. As usual comments are welcome and I’ll try to respond as soon as possible.
3: kd> .bugcheck
Bugcheck code 000000E2 //This signifies a manual crash dump was performed.
Arguments 00000000 00000000 00000000 00000000
3: kd> !vm 1
*** Virtual Memory Usage ***
Physical Memory: 3997470 ( 15989880 Kb)
Page File: \??\C:\pagefile.sys
Current: 25163776 Kb Free Space: 25160412 Kb
Minimum: 25163776 Kb Maximum: 25163776 Kb //25 GB page file, that could cause the server to be a bit slow…
Available Pages: 3869641 ( 15478564 Kb)
ResAvail Pages: 3920426 ( 15681704 Kb)
Locked IO Pages: 85 ( 340 Kb)
Free System PTEs: 149 ( 596 Kb)
********** Running out of system PTEs **************
******* 31942258 system PTE allocations have failed ******
Free NP PTEs: 0 ( 0 Kb)
Free Special NP: 0 ( 0 Kb)
Modified Pages: 535 ( 2140 Kb)
Modified PF Pages: 531 ( 2124 Kb)
NonPagedPool Usage: 7840 ( 31360 Kb)
NonPagedPool Max: 32767 ( 131068 Kb) //You can see that there is only ~128Mbs of NPP which is a pretty easy indicator I use to see if a system is booted with 3GB
PagedPool 0 Usage: 4068 ( 16272 Kb) //The best way is to look at the kernel base, as this would tell you clearly but if you’re just checking quickly this
PagedPool 1 Usage: 280 ( 1120 Kb) //technique works. When booting without 3GB, NPP gets 256MBs, but since we reduce the kernel space, everything gets reduced.
PagedPool 2 Usage: 263 ( 1052 Kb)
PagedPool 3 Usage: 259 ( 1036 Kb)
PagedPool 4 Usage: 267 ( 1068 Kb)
PagedPool Usage: 5137 ( 20548 Kb)
PagedPool Maximum: 39424 ( 157696 Kb)
Shared Commit: 1153 ( 4612 Kb)
Special Pool: 0 ( 0 Kb)
Shared Process: 1632 ( 6528 Kb)
PagedPool Commit: 5139 ( 20556 Kb)
Driver Commit: 1616 ( 6464 Kb)
Committed pages: 45473 ( 181892 Kb)
Commit limit: 10225294 ( 40901176 Kb)
3: kd> !sysptes //out of Sysptes, which you can see above as well as here, this is why the system became unresponsive.
System PTE Information
Total System Ptes 4294967296
SysPtes list of size 1 has 0 free
SysPtes list of size 2 has 0 free
SysPtes list of size 4 has 0 free
SysPtes list of size 8 has 0 free
SysPtes list of size 16 has 0 free
starting PTE: c0758000
ending PTE: c0784ff0
free blocks: 38 total free: 149 largest free block: 24
3: kd> vertarget
Windows Server 2003 Kernel Version 3790 (Service Pack 1) MP (4 procs) Free x86 compatible
Product: Server, suite: Enterprise TerminalServer SingleUserTS
Built by: 3790.srv03_sp1_rtm.050324-1447
Kernel base = 0xe0800000 PsLoadedModuleList = 0xe08a6ea8 //booted with 3GB
Debug session time: Tue Mar 27 15:46:08.781 2007 (GMT-7)
System Uptime: 0 days 0:48:39.328 //Looks like this things tips over pretty quickly after booting up…
All of Raymond Chen’s 3GB posts: http://blogs.msdn.com/oldnewthing/search.aspx?q=3GB&p=1
Demystifying 3Gb: http://blogs.msdn.com/oldnewthing/search.aspx?q=3GB&p=1
How to use USERVA to tune 3GB: http://support.microsoft.com/kb/316739