Brian Madden Logo
Your independent source for application and desktop virtualization.
advertisement
Brian Madden's Blog

Past Articles

The 4GB Windows Memory Limit: What does it really mean?

Written on Feb 19 2004 765,355 views, 175 comments


by Brian Madden

[Note from Brian Madden on March 24, 2004: Since I originally posted this article, I received some corrections from David Solomon, author of the book "Inside Windows 2000." (Thanks David!) I've since rewritten some portions of this article to incorporate his corrections.]

There seems to be a lot of confusion in the industry about what's commonly called the Windows “4GB memory limit.” When talking about performance tuning and server sizing, people are quick to mention the fact that an application on a 32-bit Windows system can only access 4GB of memory. But what exactly does this mean?

By definition, a 32-bit processor uses 32 bits to refer to the location of each byte of memory. 2^32 = 4.2 billion, which means a memory address that's 32 bits long can only refer to 4.2 billion unique locations (i.e. 4 GB).

In the 32-bit Windows world, each application has its own “virtual” 4GB memory space. (This means that each application functions as if it has a flat 4GB of memory, and the system's memory manager keeps track of memory mapping, which applications are using which memory, page file management, and so on.)

This 4GB space is evenly divided into two parts, with 2GB dedicated for kernel usage, and 2GB left for application usage. Each application gets its own 2GB, but all applications have to share the same 2GB kernel space.

This can cause problems in Terminal Server environments. On Terminal Servers with a lot of users running a lot of applications, quite a bit of information from all the users has to be crammed into the shared 2GB of kernel memory. In fact, this is why no Windows 2000-based Terminal Server can support more than about 200 users—the 2GB of kernel memory gets full—even if the server has 16GB of memory and eight 3GHz processors. This is simply an architectural limitation of 32-bit Windows.

Windows 2003 is a little bit better in that it allows you to more finely tune how the 2GB kernel memory space is used. However, you still can't escape the fact that the thousands of processes from hundreds of users will all have to share the common 2GB kernel space.

Using the /3GB (for Windows 2000) or the /4GT (for Windows 2003) boot.ini switches is even worse in Terminal Server environments because those switches change the partition between the application memory space and kernel memory space. These switches gives each application 3GB of memory, which in turn only leaves 1GB for the kernel—a disaster in Terminal Server environments!

People who are unfamiliar with the real meaning behind the 4GB Windows memory limit often point out that certain versions of Windows (such as Enterprise or Datacenter editions) can actually support more than 4GB of physical memory. However, adding more than 4GB of physical memory to a server still doesn't change the fact that it's a 32-bit processor accessing a 32-bit memory space. Even when more than 4GB of memory is present, each process still has the normal 2GB virtual address space, and the kernel address space is still 2GB, just as on a normal non-PAE system.

However, systems booted /PAE can support up to 64GB physical memory. A 32-bit process can "use" large amounts of memory via AWE (address windowing extension) functions. This means that they must map views of the physical memory they allocate into their 2GB virtual address space. Essentially, they can only use 2GB of memory at a time.

Here are more details about what booting /PAE means from Chapter 7 of the book "Inside Windows 2000," by David Solomon and Mark Russinovich.

All of the Intel x86 family processors since the Pentium Pro include a memory-mapping mode called Physical Address Extension (PAE). With the proper chipset, the PAE mode allows access to up to 64 GB of physical memory. When the x86 executes in PAE mode, the memory management unit (MMU) divides virtual addresses into four fields.

The MMU still implements page directories and page tables, but a third level, the page directory pointer table, exists above them. PAE mode can address more memory than the standard translation mode not because of the extra level of translation but because PDEs and PTEs are 64-bits wide rather than 32-bits. The system represents physical addresses internally with 24 bits, which gives the x86 the ability to support a maximum of 2^(24+12) bytes, or 64 GB, of memory.

As explained in Chapter 2 , there is a special version of the core kernel image (Ntoskrnl.exe) with support for PAE called Ntkrnlpa.exe. (The multiprocessor version is called Ntkrpamp.exe.) To select this PAE-enabled kernel, you must boot with the /PAE switch in Boot.ini.

This special version of the kernel image is installed on all Windows 2000 systems, even Windows 2000 Professional systems with small memory. The reason for this is to facilitate testing. Because the PAE kernel presents 64-bit addresses to device drivers and other system code, booting /PAE even on a small memory system allows a device driver developer to test parts of their drivers with large addresses. The other relevant Boot.ini switch is /NOLOWMEM, which discards memory below 4 GB and relocates device drivers above this range, thus guaranteeing that these drivers will be presented with physical addresses greater than 32 bits.

Only Windows 2000 Advanced Server and Windows 2000 Datacenter Server are required to support more than 4 GB of physical memory. (See Table 2-2.) Using the AWE Win32 functions, 32bit user processes can allocate and control large amounts of physical memory on these systems.







Comments

Guest wrote I just don't understand
on Sun, Dec 12 2004 1:19 PM Link To This Comment
This message was originally posted by an anonymous visitor on March 4, 2004
One of our customers has a Terminal Server with 6Gb of RAM. It uses 32bit Win2k3 Enterprise with the /PAE witch enabled. So far, ive read thru different techdocs and made some conclusions. Please feel free to shoot at my conclusions as i dont know if they are right..

So here it comes;
Theres a true PAE and a x86 PAE. True is 64bits proccesors with 64bits windows, x86 PAE is an extension for 32bits procs and 32bits windows. All i've read is that x86 PAE lets u use more than 2Gb of ram for the kernel. I am not interested in the 2Gb limit apps like SQLServer or Exchange have, but in the kernel memory size so my users have more ram than the 2Gb appointed to the kernel. The appliance is Terminal Services here.
So why cant i use my extra 4G of memory? The server says it has 6Gb of ram but doesnt use it, coz theres 4Gb available while the server is swapping and very very busy.

Another question i have while trying to understand the problem is that ive read that the virtual memory appointed to a app is 4Gb on a 32bits Windows server system. Is this devided in 2G for the kernel and 2G for the app-pool? If so, is this why my Terminal Server users almost doesnt access the 4Gb? Coz the apps wont ever have use for more than 2G mem?

So my questions are;
-Why cant i use memory for my TS above 2Gb with the PAE switch enabled?

-is /PAE for the OS so that applications can use AWE to adress it?
-Do i have to do a reinstallation of Win2k3 ent to support the memory above 2Gb? or is adding the /PAE switch enough?

-How does Terminal Services uses memory? Why is it bound to the kernelmemory of 2Gb?
Guest wrote Answers to the previous poster's questions
on Sun, Dec 12 2004 1:20 PM Link To This Comment
This message was originally posted by Brian Madden on March 4, 2004
-Why cant i use memory for my TS above 2Gb with the PAE switch enabled?



The PAE switch does not give more memory to the kernel. It only gives more to the user-mode application processes. All PAE does is “trick” the application into thinking it has more space by creating multiple page tables for each application. In fact, using the PAE switch is bad in Terminal Server environments because each application will require 4 times as many page tables, which comes out of the limited 2GB space. If I were you, I would remove 2GB of memory so that you have only 4 total, and stop using the PAE switch.



-is /PAE for the OS so that applications can use AWE to adress it?



Yes


-Do i have to do a reinstallation of Win2k3 ent to support the memory above 2Gb? or is adding the /PAE switch enough?



You do not have to reinstall, just add the switch



-How does Terminal Services uses memory? Why is it bound to the kernelmemory of 2Gb?





In 32-bit Windows systems, the kernel can never ever use more than 2GB of memory. Period. Even with the x86 PAE, the kernel still is limited to 2GB. That’s just the way it is, and there’s no way around it.



The kernel is bound to 2GB because the memory manager can never address more than 4GB. Why? Because the memory manager uses 32-bit addresses for memory, and 2^32 = 4GB. This will probably never change, since 64-bit OSes are around the corner, and this 2GB kernel limit is only hit in Terminal Server environments. (usually)
Guest wrote Ok, what about 64bit then
on Sun, Dec 12 2004 1:21 PM Link To This Comment
This message was originally posted by Dave on March 19, 2004
So, the Mem mgr uses 32-bit addresses for memory in 32-bit Windows. What about on the currently available 64-bit version running on 64-bit hardware? 2^32=4GB cool, but 2^64=a very big number. Surely this implies that if I use a 64-bit version of the O/S and H/W I will have a VAST kernel memory space -and I don't think that is the case. What is the bit I am missing?
Guest wrote 64 bit Windows = HUGE kernel space
on Sun, Dec 12 2004 1:21 PM Link To This Comment
This message was originally posted by Brian Madden on March 19, 2004
This kernel memory limit only applies to 32-bit systems (from a practical standpoint). In 64-bit Windows, the whole VM is 16TB, as compared to 4GB for 32-bit (that's a factor of 4000x more space :-) The kernel space is somewhere around 2TB in 64-bit Windows, so it's something we probably won't have to worry about for 10 or 15 years.
Guest wrote clarifications
on Sun, Dec 12 2004 1:21 PM Link To This Comment
This message was originally posted by David Solomon on March 23, 2004
Brian - your statement "The kernel is bound to 2GB because the memory manager can never address more than 4GB. Why? Because the memory manager uses 32-bit addresses for memory, and 2^32 = 4GB." is incorrect. The memory manager on a system booted in PAE mode can address 64GB of RAM using 36-bit addressing. You are confusing virtual addressing with physical addressing. Also your statement "All PAE does is “trick” the application into thinking it has more space by creating multiple page tables for each application" is completely wrong. See my description of what PAE means on Windows in Inside Windows 2000, 3rd edition - Chapter 7.
Guest wrote Similar Problem on a Dual Processor system.
on Sun, Dec 12 2004 1:21 PM Link To This Comment
This message was originally posted by Ketul on March 26, 2004
We have the similar problem of application memory limit of 2GB. It's a dual processor server with Windows 2000 Server Standard Edition. Does this limit apply to each processor? or to a system as a whole? If we upgrade to Advanced Server and enable the PAE switch, will it allow to access more memory for the application? How does this play role in a dual processory environment? Does the memory management occurs similar to that of uniprocessor systems? In other words, how would you come over the 2GB limit on a multiprocessor system for application memory?
Guest wrote No Title
on Sun, Dec 12 2004 1:21 PM Link To This Comment
This message was originally posted by Arnold Bentley on March 30, 2004
Still Lost
Guest wrote Daul Processor Systems
on Sun, Dec 12 2004 1:22 PM Link To This Comment
This message was originally posted by Brian Madden on April 21, 2004
All of this stuff applies to systems as a whole. It doesn't matter if you have 1, 2, 4, 8, or more processors. The only way to "overcome" this memory limits (other than the PAE stuff discussed in the article) would be to move to a 64-bit Windows platform.
Guest wrote How about paging?
on Sun, Dec 12 2004 1:22 PM Link To This Comment
This message was originally posted by Bob on April 28, 2004
If the hardware system is only capable of adressing 4 Gb of memory, how much sense does it make to create a page file larger than 4 Gb?
It probably depends on your applications and the number of applications in use.
Guest wrote So what is the real world 32-bit memory limit?
on Sun, Dec 12 2004 1:22 PM Link To This Comment
This message was originally posted by James on May 7, 2004
After reading the above thread, David's comments ispute Brian's - my simple question is can 32-bit Windows Terminal Services ever use more than 2GB kernel memory in a "production" environment? And does this same limit apply to Citrix?
Cheers
Guest wrote The real 32-bit memory limit
on Sun, Dec 12 2004 1:22 PM Link To This Comment
This message was originally posted by Brian Madden on May 7, 2004
Oh yes, you can totally hit this limit. How you hit it varies on circumstances, but in Windows 2000, for example, you would hit this with about 200 or 250 TS users. You'd hit this limit even with 8 way processors with 8GB of RAM. And yes, this limit applies to Citrix as well, since this limit is an architectural limitation of 32-bit windows. Want to build a bigger box? 64-bit Windows on Opteron is your answer.
Guest wrote Additional Questions
on Sun, Dec 12 2004 1:22 PM Link To This Comment
This message was originally posted by Rick on May 7, 2004
I have two questions to ask regarding the processes running in the kernel address space and the number of user address spaces.

1) I have a server running Windows 2000 Advanced Server with 8gb memory. This is a database server that also runs some small health monitoring tools and cluster services. After rebooting the server and stopping the database engine, I can see from Task Manager that the operating system with its typical processes and the monitoring tools and cluster services all use a total of 1.1gb of memory. Task Manager shows kernel memory at around 200 - 300mb in the "Kernel Memory" box on the "Performance" tab. Are these other typical windows processes (about 20 of them) running in the kernel address space as well or the user address space ?

2) For this second question lets say I am still running Windows 2000 Advanced Server with 8gb memory. Lets also say I have installed a database program under one userid and an application program under a different userid. Lets also say that I have included the /PAE boot option in the boot.ini file. I am trying to understand if each userid has its own 2gb of user address space. Is it true that the database can use 2gb of user address space memory and the application can use 2gb of its own user address space memory (with the kernel using its own 2gb address space) ? This would mean my system could potentially use 6gb of the 8gb of available memory ? What happens if I don't use the /PAE boot option ?
Guest wrote Physical memory - Client Node
on Sun, Dec 12 2004 1:22 PM Link To This Comment
This message was originally posted by an anonymous visitor on May 26, 2004
"adding more than 4GB of physical memory to a server still doesn't change the fact that it's a 32-bit processor accessing a 32-bit memory space. Even when more than 4GB of memory is present"- You talk about server, how about client node, I did testing, I can use more than 3GB physical memory. If I have more than 4GB physical memory, I can create a test for using more than 4 GB physical memory.
Guest wrote Terminal Services on 64bit Windows Platform
on Sun, Dec 12 2004 1:22 PM Link To This Comment
This message was originally posted by Alan on June 2, 2004
If I were to implement the 64-bit Windows operating system would Terminal Services take advantage of this or is it a 32-bit application and still will not utilize the extra memory. Will any 32-bit applications gain the benefit of going to the 64-bit platform?
Guest wrote Ansys Distributed Domain Solver on windows 2003 enterprise edition-32 bit processor
on Sun, Dec 12 2004 1:22 PM Link To This Comment
This message was originally posted by Inayatullah Khan on June 3, 2004
I have used the pae and 3gb switch in the boot.ini plus the editbin utility to set the large address aware switch. The spawn process of the dds reaches the 3GB limit but abnormally terminated because it tries to utitlize memmory beyond 4GB.
Can you tell how can we check that an application has an AWE(address windowing extension) support
Guest wrote 48M Desktop Heap buffer - a restriction?
on Sun, Dec 12 2004 1:22 PM Link To This Comment
This message was originally posted by GC in SC on June 11, 2004
Every desktop object on the system has a desktop heap associated with it. The desktop object uses the heap to store menus, hooks, strings, and windows. The system allocates desktop heap from a system-wide 48-MB buffer. In addition to desktop heaps, printer, and font drivers also use this buffer. This is mentioned in KB 184802. What is this buffer and where is it? What if we want more heap room and want more the 48M? Is that feasible?
Guest wrote Free RAM but Page-ins and Page-outs
on Sun, Dec 12 2004 1:22 PM Link To This Comment
This message was originally posted by Christian on June 14, 2004
I am running an SAP-APO system on DB2 for Windows on Windows 2000 advanced server (The livecash part is on an other server). My server has 7GB RAM and the /PAE and /3GB switches are on. I'd like to understand why do I have hundreds of thousends of pages in and out even with 4 GB free RAM ?
Guest wrote So what is the final answer -- to /PAE or not to /PAE
on Sun, Dec 12 2004 1:22 PM Link To This Comment
This message was originally posted by an anonymous visitor on June 14, 2004
All of my Dell 2650's have dual Xeon, and 6 gig ram. The only apps are Office 2003. SHould I use the /3gb or /PAE
Guest wrote Even after I add the /PAE switch W$dows still displaying the wrong size of ram I have
on Sun, Dec 12 2004 1:30 PM Link To This Comment
This message was originally posted by an anonymous visitor on July 13, 2004
I have a C$mpaq 570 ML server with 4GB ram and W$dows 2000 Adv$nced Server running after awhile I add 4GB ram more and I did add the /PAE switch to Boot.ini file, after all W$dows still displaying the wrong size of ram I have which is 4GB only.
Thanks guys.
Guest wrote So, what do you do
on Sun, Dec 12 2004 1:30 PM Link To This Comment
This message was originally posted by bruce on July 22, 2004
if i'm understanding any of what is being said, it sounds like on a 32bit operating system, you should not expend the money to exceed 4gb of physical memory beyond 4gb. Would that be correct????
Guest wrote so, what do you do (caveat)
on Sun, Dec 12 2004 1:30 PM Link To This Comment
This message was originally posted by bruce on July 22, 2004
Unless you use the /PAE switch in boot.ini
Guest wrote W2K3 Ent, 8gig running Oracle 9i
on Sun, Dec 12 2004 1:30 PM Link To This Comment
This message was originally posted by an anonymous visitor on July 28, 2004
We continually have an issue with memory and CPU. We will ONLY get to 4 gig of memory used, but the processor's will be at 100%. We have the PAE and 3gb switch in.

Any other suggestions?
Guest wrote So, if I'm right ...
on Sun, Dec 12 2004 1:30 PM Link To This Comment
This message was originally posted by Pascal Damman on July 29, 2004
On Win32, >4GB RAM (and /PAE) would only be useful if an application uses the AWE (address windowing extension) functions. So, the application will have te be "prepared". Or, if you are using many applications that "all need 3GB of memory".
I'm actually reading the book rigth now. I can't wait to get at chapter 7 ;-)
Guest wrote 64-bit Win 2003 Standard on ANY processor is the answer then?
on Sun, Dec 12 2004 1:31 PM Link To This Comment
This message was originally posted by Nero on August 17, 2004
What's the final solution? To upgrade to 64-bit Win 2003 Standard, regardless of your hardware setup (32 or 64 processor)?
Guest wrote CONFUSED????
on Sun, Dec 12 2004 1:50 PM Link To This Comment
This message was originally posted by PAUL CANEZ on September 19, 2004
64-BIT WIN 2003 STANDARD ON MY PROCESSOR I DID NOT NO WHICH ONE I JUST FOUND OUT THAT ALOT OF PATCHES AND STUFF DIDNT MAKE IT TO MY COMP. ONE OF THE PROCESSORS WENT OUT I DIDNT NO IT TOLD ME NEED MORE RAM ,,,CPU SPICIFIED,,,,RECOMMENTED MEMORY,,,,,RECEMMENTED HARD DISK SPACE ////
Guest wrote YOUR RIGHT??
on Sun, Dec 12 2004 1:50 PM Link To This Comment
This message was originally posted by PAUL CANEZ on September 19, 2004
UNLESS YOU USE PAE SWITCH IN BOOTINI??? TELL ME HOW TO GET THIS DONE ,,AND I GOT TO DO ALOT OF READING THANKS YOU GUYS????
Guest wrote 64-bit Windows and 32-bit Apps
on Sun, Dec 12 2004 1:50 PM Link To This Comment
This message was originally posted by an anonymous visitor on September 20, 2004
Running 16-bit apps in 32-bit Windows is not good. Is it the same case of running 32-bit apps in 64-bit Windows?
Guest wrote To add /pae switch in bootini
on Sun, Dec 12 2004 1:52 PM Link To This Comment
This message was originally posted by Cathy on October 15, 2004
Existing line in boot.ini:
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Advanced Server" /fastdetect
CHANGE TO THIS:
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Advanced Server" /fastdetect /pae
Guest wrote 64-bit Windows and 32-bit Apps
on Sun, Dec 12 2004 1:52 PM Link To This Comment
This message was originally posted by Ed on November 10, 2004
The cool thing about the AMD Opteron (unlike the Intel Itanium) is that it runs both 64-bit and 32-bit apps equally well. In XP64 and 2003-64 you see them in the task manager listed as *32 if they are 32-bit. Actually we have been benchmarking a dual 1.8GHz Opteron (64 bit) running 32-bit windows against a dual 2.4GHz Xeon (32-bit) running 32-bit Windows and the Opteron is still about twice as fast at everything because of a superior bus design. Of course on the Itanium (Intel 64 bit) you can forget running 32-bit apps, they just don't work well at all.
Guest wrote What abour Red Hat Linux? Is the 4 GB limitation also present there as well?
on Sun, Dec 12 2004 1:57 PM Link To This Comment
This message was originally posted by an anonymous visitor on November 24, 2004
No comment
Guest wrote 32 Bit CPU does not mean 32 bit addressing.
on Thu, Dec 16 2004 10:45 AM Link To This Comment
Although it does not influence the rest of the article, the statement that 32 bit CPU means 32 addressbits is incorrect:

By definition, a 32-bit processor uses 32 bits to refer to the location of each byte of memory

The 32 bit refers to the with of the CPU internal DATA bus and registers and not to the width of the ADDRESS bus. This has always be the case. Go back in history: the Z80 is an 8 bit CPU, but has 16 address bits (so 64 KB of memory). The 8086 is an 16 bits CPU, but has 20 addressbits (so 1 MB of memory). The 80286 is also an 16 bit CPU, but with 24 addressbits (so 16 MB of memory).
Brian Madden wrote RE: 32 Bit CPU does not mean 32 bit addressing.
on Thu, Dec 16 2004 11:03 AM Link To This Comment
I didn't know this, so thanks for the information! I guess I should've known that because current Intel CPU's can use AWE to use a 36-bit memory address.

I'll make this change in the next version of this article.

Brian
Guest wrote Is a "Performance Increase" what you're after?
on Thu, Dec 16 2004 12:04 PM Link To This Comment
How about using the PAE switch and adding 4GB of memory to make a total of 8GB of RAM. Next, create a 4GB RAM drive and relocate the swap file and user temp files to this location. Got to be a performance increase now! ;) Just kidding, but interesting to try.

-Frank
Guest wrote Re: 64 bit Windows = HUGE kernel space
on Wed, Jan 5 2005 3:50 AM Link To This Comment
sorry, but the whole VM is not 16 TB (= 2^44), it should be 2^64 = 16 ExaBytes, which is 2^32 = 4,294,967,296 times more space than 4GB (= 2^32).
Guest wrote Resolving some myths...
on Thu, Feb 10 2005 7:33 AM Link To This Comment
Basically on 32-bit (x86) architectures you have two memory constraints to worry about: 2GB Kernel and 2GB Data; in TS environments you are usually only concerned with the Kernel.

Let’s look at the Kernel: The 2GB is used to store all system data structures and cannot be extended regardless of physical memory. This Kernel space is further divided into two areas: *Page Pool* allocations (memory assigned to by Kernel components) and *Stack* allocations in System PTE area (these are created by every thread running in user-mode for when that thread makes system calls).

Although both Page Pool and Stack (PTE) allocations both share that 2GB Kernel space the partition that says how much of that 2GB you allocate to either of these areas is set at boot time.

* Once these areas have been allocated at boot they are exclusive and if one area runs out of space the other cannot loan any. As a result applications and the system itself can become unstable.

** By default the partition in TS environments favors the System PTE area and as such errors are usually because the Kernel has run out of Page Pool area. Fortunately these are tunable – see MS Q Article ID: 247904 : http://support.microsoft.com/default.aspx?scid=kb;en-us;247904

If your aim is to get maximum server/user capacity (more users on a box) running desktop type applications you can aim at the OS (32bit) and architecture limit of 4GB - don't use the /PAE or any other switches as these will limit the amount of memory for the Kernel = Less users on a box! And finally consider monitoring the Page Pool space and tuning accordingly...

If you are using a 32-bit architecture for Database servers or the likes then you might consider adding more physical ram and using /PAE ... This will allow an app like SQL Server to use it's large memory AWE extensions to keep more data in physical ram. Note however that only apps specifically written with AWE in mind will benefit.

So in brief: for TS + MetaFrame environments it is not recommended to increase physical memory and use /PAE as this can limit the number of users on a box due to Kernel (Page Pool) constraints. You could consider the /PAE approach if you are aiming for fewer users on a box but using applications that make big demands on physical memory.

Finally, these constraints are more to do with hardware architecture than software specifics. Over the years people have invented clever software tricks even back in the DOS days where you loaded drivers high! But at the end of the day there is only little gain without special application code to make use of these memory management tricks. 64-bit will hopefully solve many of these issues; UNIX has had 64-bit architecture and addressing for years now as we move to 64-bit in x86, other constraints will become apparent.
Guest wrote Re: What abour Red Hat Linux? Is the 4 GB limitation also present there as well?
on Mon, Feb 14 2005 11:03 AM Link To This Comment
i also have this 4GB limit on our linux system. is there a solution to ovecome it?
Guest wrote Re: Resolving some myths...
on Thu, Feb 17 2005 3:39 PM Link To This Comment
So Can Windows 2003 Standard support 4GB or do I have to add /PAE. I am running web application on IIS6.0
Guest wrote Re: Re: Resolving some myths...
on Fri, Feb 18 2005 7:57 AM Link To This Comment
Windows will support 4GB you only need /PAE if you intend to use more than 4GB.
Brian Madden wrote RE: Re: Re: Resolving some myths...
on Fri, Feb 18 2005 10:32 AM Link To This Comment
Let me clear up some confusion here.

1. With 32-bit Windows, you MUST use /PAE to make use of memory above 4GB. (Without it the system will only see 4GB, regardless of the amount of physical memory.)

2. From a licensing standpoint, Windows 2003 Standard only supports 4GB of RAM. You need to use Windows 2003 Enterprise to use more than 4GB.

So, to use more than 4GB of RAM with 32-bit Windows, you need BOTH Windows 2003 Enterprise (or Datacenter) and the /PAE switch.

Brian
Guest wrote How about digital audio workstations?
on Mon, Mar 21 2005 6:42 PM Link To This Comment
Everybody talked about terminal servers here. How about digital audio workstations. Often they require huge memory so applications can stream samples for sample players (like Gigastudio, Kontakt, or similar). Similarly, soft synths use a lot of memory when simulating synthesizers.

If I have 4GB of memory on a Pentium 4 PC with Windows XP, would that memory be utilized or not? I guess 2GB would be _gone_ for the kernel and applications would be able to use only the other 2GB? Or, would it be possible for kernel just to use up to 1GB and applications to use up to 3GB? If possible, how do you control that?

Any ideas?

Thanx,
Bogdan
bogdank@ti.com
Guest wrote RE: I just don't understand
on Mon, May 9 2005 12:32 AM Link To This Comment
not anonymous anymore.. this was a post from me. i understand now coz of personal reply of MistA Madden himself.. thx!
Dennis Pennings wrote RE: I just don't understand
on Mon, May 9 2005 12:41 AM Link To This Comment
well.. not anon if i would LOGIN!!
Guest wrote Re: Re: 64 bit Windows = HUGE kernel space
on Wed, May 11 2005 7:22 PM Link To This Comment
Actually at the moment, the VM of Windows 2003 x64 edition is only 16TB so you were in fact correct the first time.
Guest wrote Re: Resolving some myths...
on Fri, May 27 2005 3:34 PM Link To This Comment
First off, there is no mention here that PAE memory can reduce swapping with many applications running simultaneously. That's oversight in this explanation of the issue. Clearly, swapping between applications can be an issue, especially in a multiuser environment.

This article introduces what is apparently a balancing act between page pool issues and application memory swapping issues. And there's even a link to page to aid in tuning these parameters. However, I am msytified that given the range of environments, the author comes away with a blanket statement like, "don't use the /PAE" and "limit the amount of memory for the Kernel = Less users on a box" without any more detail than the potential for problems in the page pool.

Those statements imply that in all circumstances you will encounter page pool problems before memory swapping issues, but that assertion is not substantiated in any way. I haven't tested this in a lab, but frankly I am suspect of the conclusion that in all case PAE is bad for TS.

Guest wrote Re: Resolving some myths...
on Wed, Jun 1 2005 9:32 AM Link To This Comment
You are creating myths. The OS can use PAE memory for page swapping which would only benefit a multiuser environ. It is not just for large applications needing to exceed to the 2 GB application limit.
Guest wrote Oracle on WIn32
on Sun, Aug 21 2005 4:30 AM Link To This Comment
Does Oracle change anything for this problem, as it creates more processes when processing a query. Maybe they can use different parts of memory?
Olio Dante wrote 3.24 GB RAM limit in WIN2K3 Server
on Tue, Sep 6 2005 5:29 PM Link To This Comment
Hi,
after adding 2 more GB to a total of 4GB on a Dell Server running Windos 2003 Server Standard Edition, I am only seeing 3.24 GB of RAM in the machine properties and task manager. From waht I read, Win2k3 should be able to handle 4GB ok.
What's going on?
Thanks! D
Michael Burke wrote RE: 3.24 GB RAM limit in WIN2K3 Server
on Tue, Sep 6 2005 11:07 PM Link To This Comment
It has to do with PCI-X, which reserves some system memory. The following thread discusses it...

http://www.brianmadden.com/forum/tm.asp?m=16032&mpage=1&key=䉳
Guest wrote How does PAE get enabled when /PAE isn't in the boot.ini?
on Thu, Sep 15 2005 6:15 PM Link To This Comment
I've seen this a couple of times now, mostly on Dell platforms. PAE enables "automatically" even though the switch isn't in boot.ini *AND* the system only has 2gb in it anyway.
Guest wrote Re: 3.24 GB RAM limit in WIN2K3 Server
on Thu, Sep 15 2005 6:19 PM Link To This Comment
You need to verify that /PAE is in the boot.ini. Even with PCI Express, you should be seeing more like 3.8gb. 3.2gb is the max it will see without PAE being enabled.
Guest wrote Would like to enable >4GB RAM usage in X32 bit OS
on Tue, Sep 20 2005 11:57 AM Link To This Comment
I have X32bit Win Adv Server OS installed in my SERVER. I have 8GB RAM physical memory. I have installed a 32 bit application . I would like to use more than 4 GB Memory . DO i have to use the /PAE switch in the boot.ini? OR any other setting do i have to do ?
Guest wrote RE: Windows "4GB memory limit
on Mon, Oct 31 2005 3:41 PM Link To This Comment
I’m a novice when it comes to Windows architecture. But I’m confused about the subject article, relative to “2GB dedicated for kernel usage, and 2GB left for application usage.” I have a system with 4gig (Windows XP Pro) and when I look at the System Properties / General the systems reports only seeing 2 gig. Is this the kernel and my other 2gig are there, and will application running on the system see the other 2?

Lance Lenkiewicz
Application Engineer
Lockheed Martin, Denver
303-977-6586
Guest wrote Re: 32 Bit CPU does not mean 32 bit addressing.
on Sun, Nov 6 2005 10:55 PM Link To This Comment
I believe that the 8086 CPU could address up to 16MB of ram by using the 4 status pins to point to 1 of 16 different 1MB pools of ram.
Brian Madden wrote Re: How about digital audio workstations?
on Mon, Nov 7 2005 5:53 PM Link To This Comment
This is a terminal server website. That's why we are only talking about terminal server!

Yes, you workstation can use all 4GB. No, it can not split it 1gb/3gb UNLESS your app is specifically compiled to recognize that. If you add the /3GB boot.ini switch to go to 1gb/3gb with an app that is NOT compiled for it then you will just end up with a 1GB unused "hole" in the center.
Guest wrote RE: 64-bit Windows and 32-bit Apps
on Mon, Dec 19 2005 5:59 PM Link To This Comment
no
Guest wrote Your logic behind this article?
on Mon, Dec 19 2005 7:26 PM Link To This Comment
Brian, I am still unsure of your logic in this.  You mention the following points:
 
- The /3GB switch means only 1GB of kernel memory available to O/S etc, 3GB to app's
- Quote: "...quite a bit of information from all the users has to be crammed into the shared 2GB of kernel memory. In fact, this is why no Windows 2000-based Terminal Server can support more than about 200 users—the 2GB of kernel memory gets full"
- The majority of Citrix servers running on (modern) hardware are typically load balanced to support around 40 - 60 users
 
I am assuming the generalised comment about 2GB of kernel memory to support a maximum of 200 users means approximately 1GB of kernel memory would support 100 users max.  Reduce this even more to a typical load balanced Citrix farm having a maximum user load of say 60 users per server, then theoretically 1GB of kernel memory is more than sufficient. This of course means 3GB of memory for applications (and many these days simply suck as much memory as they can)
 
So based on the above, surely the /3GB switch for a maximum 60 user TS server would mean better performance?
 
Guest wrote RE: Re: How about digital audio workstations?
on Mon, Dec 19 2005 7:28 PM Link To This Comment
Brian, I am still unsure of your logic in this.  You mention the following points:

- The /3GB switch means only 1GB of kernel memory available to O/S etc, 3GB to app's
- Quote: "...quite a bit of information from all the users has to be crammed into the shared 2GB of kernel memory. In fact, this is why no Windows 2000-based Terminal Server can support more than about 200 users—the 2GB of kernel memory gets full"
- The majority of Citrix servers running on (modern) hardware are typically load balanced to support around 40 - 60 users

I am assuming the generalised comment about 2GB of kernel memory to support a maximum of 200 users means approximately 1GB of kernel memory would support 100 users max.  Reduce this even more to a typical load balanced Citrix farm having a maximum user load of say 60 users per server, then theoretically 1GB of kernel memory is more than sufficient. This of course means 3GB of memory for applications (and many these days simply suck as much memory as they can)

So based on the above, surely the /3GB switch for a maximum 60 user TS server would mean better performance?
Guest wrote BIOS sees 4GB, XP sees 2.75GB ??
on Wed, Jan 4 2006 10:06 AM Link To This Comment
Well I've been reading through things here hoping to find a solution to my problem. We have a CAD station I just built that has 4GB of memory. The BIOS sees 4GB and the POST reports 4GB as well. XP however only reports 2.75GB under System Properties /General. I have tried using the /3GB and /PAE switches and neither of those change anything. How can I get this system to recognize the whole 4GB?
Guest wrote more than 4GB in win03 enterprise (dell)
on Fri, Jan 6 2006 3:59 PM Link To This Comment
folks, (as a newbee 2 win systems) ... what would be the exact syntax for that PAE switch? I read somewhere in the thread that DELL systems comes with it ... well, mine c:\boot.ini  does not have it (and it looks like this):

timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /NoExecute=OptIn
C:\CMDCONS\BOOTSECT.DAT="Microsoft Windows Recovery Console" /cmdcons
thx
Jeff Pitsch wrote RE: more than 4GB in win03 enterprise (dell)
on Fri, Jan 6 2006 6:33 PM Link To This Comment
These types of questions are typically better answered if they are put in the correct area.  This area of the forums is for article comments, not support
Guest wrote RE: Re: 3.24 GB RAM limit in WIN2K3 Server
on Sat, Jan 7 2006 6:14 PM Link To This Comment
How do I "verify that /PAE is in the boot.ini"?  I added 2 GB of RAM for a total of 3 GB, but the Dell Server with Win 2K3 is only showing 2 GB total.  Where is the other 1 GB?  Please help.
 
ORIGINAL: Guest

You need to verify that /PAE is in the boot.ini. Even with PCI Express, you should be seeing more like 3.8gb. 3.2gb is the max it will see without PAE being enabled.

Jeff Pitsch wrote RE: Re: 3.24 GB RAM limit in WIN2K3 Server
on Sat, Jan 7 2006 10:13 PM Link To This Comment
well if your looking for the /PAE switch it's a good idea to open the boot.ini file and look to see if /PAE is there.  Enabling PAE is not recommended becaue it can cause some performance hit because the virtual memory translation that has to happen.  I would look more into making a switch like this before actually doing it.
 
As well, from what I remember, there are firmware updates, etc that should help with this in the Dell's. 
Guest wrote RE: Re: 3.24 GB RAM limit in WIN2K3 Server
on Mon, Jan 9 2006 5:02 PM Link To This Comment
Thanks, I am definitely going to research this more.  It's very frustrating...
 
ORIGINAL: Jeff Pitsch

well if your looking for the /PAE switch it's a good idea to open the boot.ini file and look to see if /PAE is there.  Enabling PAE is not recommended becaue it can cause some performance hit because the virtual memory translation that has to happen.  I would look more into making a switch like this before actually doing it.

As well, from what I remember, there are firmware updates, etc that should help with this in the Dell's. 

Guest wrote RE: Would like to enable >4GB RAM usage in X32 bit OS
on Thu, Jan 19 2006 5:57 AM Link To This Comment
ORIGINAL: Guest

I have X32bit Win Adv Server OS installed in my SERVER. I have 8GB RAM physical memory. I have installed a 32 bit application . I would like to use more than 4 GB Memory . DO i have to use the /PAE switch in the boot.ini? OR any other setting do i have to do ?
Angus McAllister wrote RE: Your logic behind this article?
on Thu, Jan 19 2006 7:00 AM Link To This Comment
This is because the system needs to allocate some kernel memory for each running process.  This is in the form of Page Table Entries etc.  If the kernel memory is reduced to 1GB, then the amount of memory available to the Paged Pool and Page Table is correspondingly reduced, so you'll end up with even fewer applications able to run.  There'll be plenty of user-mode memory available to applications, but kernel memory will all be used up.
 
Hope that makes things a little clearer.
Brian Madden wrote RE: Your logic behind this article?
on Tue, Jan 24 2006 11:05 AM Link To This Comment
Here's the main problem with the 3GB switch: Applications must be specifically compiled to look for and recognize the fact that they can use 3GB instead of 2GB of memory. Right now the only apps that I know of that have this intelligence are SQL Server and Exchange Server. So for "regular" desktop apps, they'll continue to use a 2GB memory space, and the kernel will use 1GB, and you'll have a 1GB "hole" right in the middle of everything!

Brian
Guest wrote RE: 64-bit Windows and 32-bit Apps
on Tue, Feb 14 2006 1:28 PM Link To This Comment
ORIGINAL: Guest

no

 
I am going to be using servers with 8 way SMP and 32gb Ram , if I use Windows 2003 server R2 64-bit will the 32-bit applications installed on the server be able to address the full 32gb memory or am I better off with 2003 32-bit enterprise edition?
Patrick Rouse wrote RE: 64-bit Windows and 32-bit Apps
on Tue, Feb 14 2006 1:34 PM Link To This Comment
If you were to use a single 32 bit OS on this hardware, you'd likely be limited to a couple hundred concurrent sessions before the system stopped accepting connections.  With a 64 bit OS you should be able host more sessions because you're not constrained by a 2GB kernel address space, which is often the limiting factor on a 32 bit TS.
 
Your best options for this hardware are Windows Server 2003 64 Bit Version, or several 32bit VMs.
 
http://www.sessioncomputing.com/scaling.htm
 
Guest wrote RE: Answers to the previous poster's questions
on Tue, Feb 14 2006 4:23 PM Link To This Comment
Let me see if I understand this correctly.  My server (HP DL380 G4 dual xenon 3.2 procs) has 5 gb of Physical memory, but only 3.5gb is available.  Is there no point in me putting anymore than 4gb of memory in our Win2k3 Standard Server because it being on ly 32-bit can only address 4gb's of Memory, and of that 4gb's 2gb's is allocated to the Kernel (for what I assume is HAL related??).  An "/PAE" can create an unstable OS, so if you were to enable it, it would be at you (my) own risk.  Am I understanding this corectly thus far?  If I were to upgrade to Win2k3 Enterprise, it would be pointless...???, because it is stilla 32-bit system, and only 4gb's of Memory can be address... At a time, or In Total.

If you could shed some light on what I stted above I would greatly appreciated, and I am sure others will find it usefull as well.
Shawn Bass wrote RE: Answers to the previous poster's questions
on Tue, Feb 14 2006 5:59 PM Link To This Comment
This topic is really beating a dead horse these days, but basically here it is in a nutshell.  A 32-bit OS can only address 4 GB of memory.  Specifically in a TS/Citrix environment you're only allow 2 GB Kernel and 2 GB user mode memory.  That's you biggest limitation on a TS/Citrix server and is the biggest reason to limit your farm to dual proc servers versus building 8 or 16 way boxes (you get memory constrained before CPU constrained).  If you want to build up instead of out, you'll need to put your solution on 64-bit Windows which gets rid of the 4 GB memory limit and should allow you to scale up instead of out (though I still think you should scale out for redundancy purposes).  What'll be really interesting is to see if anyone was built up in the 64-bit world and found themselves constrained by disk more than by CPU at that point.  LOL

Shawn
Guest wrote RE: I just don't understand
on Thu, Feb 23 2006 7:01 PM Link To This Comment
Have you tried using the /3GB switch to make the kernel only use 1GB and then 3GB is available for the user?  I am in the same situation.  Without being able to test, I need to see if Terminal Services can access memory over 4GB in size.  It sounds like you are answering my question for me.  I'm betting you need to use the /3GB switch instead of the /PAE switch.  That way you can have 3GB for user mode, instead of 2GB.
 
I hope I have helped.
Patrick Rouse wrote RE: I just don't understand
on Thu, Feb 23 2006 7:53 PM Link To This Comment
Using the /3GB switch on terminal server could cut the maximum number of sessions in half, as the kernel address space is the most common limiting factor on 32 bit OS running TS.
Guest wrote did i get it right?
on Fri, Feb 24 2006 4:13 AM Link To This Comment
ok, so in any case, the limit is 4gb. wich is stoped by licensing stuff. (standard edition)
But, you can change the priority of the memory. 1gb kernel,3gb aplication?

but what then, when you have enterprise edition? and have 8gb of memory?
Guest wrote RE: Oracle on WIn32
on Thu, Mar 2 2006 4:48 PM Link To This Comment
No, all Oracle memory structures must fit in the 2GB (or 3Gb with the switch)  available.  This includes user sessions which are implemented as separate threads.

Guest wrote RE: Would like to enable >4GB RAM usage in X32 bit OS
on Mon, Mar 20 2006 6:46 AM Link To This Comment




I have X32bit Win Adv Server OS installed in my SERVER. I have 8GB RAM physical memory. I have installed a 32 bit application . I would like to use more than 4 GB Memory . DO i have to use the /PAE switch in the boot.ini? OR any other setting do i have to do ?






function ResizeTextArea(){
// return;
var TextArea = document.getElementById("body1");
var sX = document.body.clientWidth;
var sY = document.body.clientHeight;
var sppp = 350;
if (TextArea){
TextArea.style.width = (sX-200>=450)? (sX-200) +'px' : '450px';
if (sY=300)? '270px': (sY-sppp
Guest wrote W2K3 with 8GB RAM
on Tue, Apr 4 2006 5:09 AM Link To This Comment
I have gor W2K3 with 8GB RAM but in the 'General' tab of the 'My Computer' properties its
showing only 4GB. Also in the Task Manager its showing a Total Memory of 4GB only. How can
I configure my system to use entire 8 GB of memory?
I have tried /PAE switch but still its not showing more than 4GB memory.
Please advice!
 
Thangs,
Gary
Michael Burke wrote RE: W2K3 with 8GB RAM
on Tue, Apr 4 2006 10:23 AM Link To This Comment
Are you running Enterprise Edition of 2003?  Standard only recognizes 4GB
Guest wrote RE: W2K3 with 8GB RAM
on Tue, Apr 4 2006 11:03 AM Link To This Comment
Hi Michael,
Yes that was the problem! We are on Standard edition and therefore the system
was not recognizing more than 4 GB ... now we have installed Enterprise edition
and the its showing full 8 gig RAM.
 
Thanks for the advice!
Regards
Gary
Guest wrote RE: W2K3 with 8GB RAM
on Tue, Apr 4 2006 11:49 AM Link To This Comment
Hi,
 
I have one more doubt!
Now with this H/W conf, is it required to use the switch /3GB or /4GT
to allow the applications use most of the memory?
 
Please suggest!

Thanks in advance,
Gary
 
Guest wrote Do I need Virtual Memory????
on Fri, Apr 7 2006 3:25 PM Link To This Comment
Ok. I have a Windows 2003 Standard Edition server, dual processors with
4GB of physical RAM,
Do I even need a page file?
Or should I set it to 4GB?
Would I see any benefit of setting it to the 1.5x or 2.5x physical ram?

Thanks

Jeff
Guest wrote curiosity killed the cat
on Wed, Apr 12 2006 2:18 PM Link To This Comment
I've got a system (Win2003 Server Standard) with 4GB of physical memory and the /3GB flag is set.
 
If I have two different applications (or two instances/images of the same application), each of which allocates 1.4GB of virtual memory, will the 2000-2999MB region be utilized?
 
Guest wrote RE: Cant modify boot.ini?
on Fri, Apr 14 2006 11:12 AM Link To This Comment
I have been trying but I cant edit the boot.ini. The file can't be edited because of its read-only attribute which can't be changed because its a system file. Second option of doing it through Windows>Properties>Advanced>Startup & Recovery>System Startup and then pressing EDIT button. But there is no Edit button!!!  What am I missing. Would appreciate a quick help.
Regards,
Sunny
ORIGINAL: Brian Madden

Here's the main problem with the 3GB switch: Applications must be specifically compiled to look for and recognize the fact that they can use 3GB instead of 2GB of memory. Right now the only apps that I know of that have this intelligence are SQL Server and Exchange Server. So for "regular" desktop apps, they'll continue to use a 2GB memory space, and the kernel will use 1GB, and you'll have a 1GB "hole" right in the middle of everything!

Brian

Guest wrote RE: Cant modify boot.ini?
on Sat, Apr 15 2006 2:34 AM Link To This Comment
Forgot to mention that its Windows 2000 Advanced Server. 5.00.2195 Service Pack 4.
 
Sunny
Jerry Miller wrote RE: Cant modify boot.ini?
on Sun, Apr 16 2006 2:34 AM Link To This Comment
Have you tried using a command prompt and the attrib command? You could take away the system attribute briefly with C:\attrib <filename> -s -r. You should then be able to edit it. Then reverse the process with C:\attrib <filename> +s +r. Make a back up copy of the original before you make any adjustments to be safe. I always have a back out plan before I make changes to system files.

A list of Windows 2K DOS commands can be found @ http://www.geocities.com/tlawlessrr/dos.htm.
Guest wrote RE: Cant modify boot.ini?
on Mon, Apr 17 2006 2:11 AM Link To This Comment
Hi,
yes i did all that, the only issue was the attributes for the file were RHS, and a system file can't be modified in any way, so what i was missing was to uncheck the property in TOOLS>FOLDER OPTIONS>Hide Protected Operating System Files (Recommended). So by uncheckig it, i was able to change the attributes of the file.
Thanks anyways.
And if anyone can, please tell me how to hide a Mapped Drive from being displayed in MY COMPUTER. does it have to be done through a policy, or some option from NET USE (though i couldn't find any). Would appreciate any help.
Thanks and Regards,
Sunny
 
ORIGINAL: jmiller79

Have you tried using a command prompt and the attrib command? You could take away the system attribute briefly with C:\attrib <filename> -s -r. You should then be able to edit it. Then reverse the process with C:\attrib <filename> +s +r. Make a back up copy of the original before you make any adjustments to be safe. I always have a back out plan before I make changes to system files.

A list of Windows 2K DOS commands can be found @ http://www.geocities.com/tlawlessrr/dos.htm.

Guest wrote W2K AS only sees 3.6GB HELP!!!
on Mon, Apr 17 2006 3:16 PM Link To This Comment
I have a Windows 2000 Advanced Server and I installed 4gb of RAM. When I boot the server I can see the system recognizing the 4GB, but once I logg into windows it only sees 3.6GB..I tried PAE and also nolowmem and still doesn't work...Please help I don't know what else to do...
Thank you!!!
 
Alex
Jeff Pitsch wrote RE: W2K AS only sees 3.6GB HELP!!!
on Mon, Apr 17 2006 3:32 PM Link To This Comment
You should post your questions in the Technical support area, not the article comment area.
Guest wrote Paging File size optimizaiton
on Tue, Apr 18 2006 4:53 AM Link To This Comment
Hi,
I`ve a Win2k Adv server with 4Gb of Physical memory. i`ve currently set 4gb virtual memory(paging file) in C:\ & 2GB page file in D:\ & E:\ respectively.
The server`s current memory utilization is only 1.5Gb of total memory.
My query is whether is it mandatory to set a paging file when the server has sufficient physical memory? If yes, what could be the optimal pging file setting i need to set for my server.
 
Please suggest
Shawn Bass wrote RE: W2K AS only sees 3.6GB HELP!!!
on Wed, Apr 19 2006 12:57 PM Link To This Comment
This is a known "issue".  It relates to the System BIOS reserving portions of the RAM for the PCI/AGP/PCI-X functions.  Bottom line, it's normal and there's not much you can do about it.

Shawn

Guest wrote &gt;&gt;&gt;Lots of missing Info: The 4GB Windows Memory Limit: What does it really mean?
on Sun, Jul 2 2006 11:11 AM Link To This Comment
Lots of missing information. I did not read through all questions since my head started to hurt, so lets state with base principles:
 
- The system can use more than 4GB with PAE turned on. Lookup how NT handles "working sets", and even though the process is limited to a 4GB virtual range (2GB user, 2GB kernel), the sum total of the physical memory used by all sessions for working sets can be higher than 4GB, thus reducing paging.
 
- The kernel has a "Session Space" which greatly extends the available kernel address space by being per session, and this is the primary reason it was invented. The working sets of each session space, the sessions processes, and system pools can and does exceed > 4GB with PAE on.
 
- The "desktop heap" and other limits are design decisions on how much kernel virtual address space is reserved for session space, since session space must occupy the same range of addresses in each sesssion due to some core system architectural concerns. These limits can be turned by the registry on later versions such as 2003 Server.
 
- 64 bit systems make great Terminal Server hosts for 32 bit TS applications since the kernel has "unlimited" virtual address space ;-)
 
 
Guest wrote RE: BIOS sees 4GB, XP sees 2.75GB ??
on Fri, Aug 18 2006 9:33 AM Link To This Comment
I have  the same issue under XP Pro it is locked at 2.75GB. Why? I don't really know yet switching the memory timing to T2 did nothing. I have an Asus p5nd2-sli p4 3.2mhz.
Guest wrote RE: Oracle on WIn32
on Sat, Aug 19 2006 9:36 PM Link To This Comment
I am looking for microsoft (R) windows 2000 (TM) (Built 2195: Service pack 4 free
Guest wrote RE: Oracle on WIn32
on Sat, Aug 19 2006 9:37 PM Link To This Comment
I am looking for Microsoft (R) windows 2000 (TM) (Built 2195: service Pack 4 free
rchabot@netscape.com
Guest wrote Problems with PAE switch
on Tue, Aug 22 2006 6:01 PM Link To This Comment
When I enable the /pae switch in the boot.ini file, my video display refreshes every 5 seconds or so.
Without the PAE in the boot.ini file, win2003 Ent Server will only see 3gig of the RAM...even though the bios sees it all.

OS = win 2003 Ent Server
NVidia 7600gs video card
Raid 5....Promise RAID controller
8 gig ram
Guest wrote RE: Oracle on WIn32
on Sun, Sep 10 2006 12:11 AM Link To This Comment
tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap tokoap
Guest wrote RE: How about digital audio workstations?
on Mon, Sep 18 2006 5:56 PM Link To This Comment
ORIGINAL: Guest
I guess 2GB would be _gone_ for the kernel and applications would be able to use only the other 2GB? Or, would it be possible for kernel just to use up to 1GB and applications to use up to 3GB? If possible, how do you control that?

 
The 2 GB virtual memory address is allocated to kernel, and *not* the physical memory. Lets take a simple example. If you have 2 application running on your system and they both use full 2 GB virtual address space allocated to them (for a total of 4 GB) and you have a kernel that uses 50 MB only. So, your system (kernel + apps) is using 4 GB + 50 MB of virtual RAM. Now, the OS will try to fit in the *most used* 4 GB part of it into 4 GB of physical RAM. The least used 50 MB memory would be kept in page file. This 50 MB can belong to any of the processes or kernel, depending upon module is not accessing it's memory frequently.
 
I hope that helps.
Guest wrote Myth
on Tue, Oct 3 2006 7:48 PM Link To This Comment
hello evey one
Guys I hear you a lot talking about the amount of system Ram windows 32bit can handle. I really guys wonder, myself I have 4GB of system ram, I like windows xp pro32 bit, I have tried the 64bit, but too much problem with hardwires driver. I have asus p5wd2-e premium motherboard,  the problem is, all I see in windows is 2GB, is there a way I can make windows see the real amount of memory in my case is 4GB.
 
Thanks to everyone
 
 
Guest wrote large memory issue
on Mon, Oct 9 2006 4:10 AM Link To This Comment
i have 2 windows 2000 advanced servers which are clustered
i have increases the RAM to 8 GB and added /PAE switch in boot.ini
Now my cluster services fail to start
can somebody tell me what could be the reason
Guest wrote RE: Re: 32 Bit CPU does not mean 32 bit addressing.
on Thu, Nov 2 2006 3:53 PM Link To This Comment
Just curious as to why the /PAE switch limits kernel memory.  We have been having problems running our TS servers and have come to believe it is the limited Page Pool that is locking our users out.  Originally we had attempted to add another 2G of RAM to the machines, which brings the grand total up to 6G.  Obviously we are using the /PAE switch, but I'm wondering after reading this if it is causing more problems than it is worth.

Bradley
Guest wrote [Deleted]
on Wed, Nov 15 2006 1:54 AM Link To This Comment
enter prise wrote RE: Re: Re: Resolving some myths...
on Sun, Feb 4 2007 12:09 PM Link To This Comment
If I have 6GB of Memory in Win2003 Std and I use the /PAE switch, will Windows see all 6GB, or do I have to upgrade to Enterprise edition to see over 4GB or is this just a license issue as you state above?
Guest wrote Re: To add /pae switch in bootini
on Tue, Jul 3 2007 8:43 AM Link To This Comment
THANK YOU!! so many people talking about doing it, but never an example of what it was supposed to look like!
Guest wrote Large RAM with Win 2003 Enterprise
on Thu, Aug 9 2007 10:21 PM Link To This Comment
I am using TS on a Win 2k3 Entreprise due to Session Directory services.....does this affect my servers or is there a diff if I get 4GB or 8GB ram ? Please advise. I have not used any switches (/2GB or /PAE)
Guest wrote 64bit hardware, 32 bit windows
on Wed, Sep 5 2007 1:13 PM Link To This Comment

I am not running this, this is more of a hypothetical than anything; Could you use more than 2gb of kernal memory with windows 32 bit running on 64 bit hardware?

Guest wrote No
on Fri, Sep 7 2007 11:55 AM Link To This Comment
No. The limitation is the OS.
Guest wrote Active Directory FAQ
on Mon, Sep 10 2007 3:08 AM Link To This Comment

On the web I have struggled to find a good FAQ on active directory and hence I decided to make my own. I am sure its rich in the content and will surely interest someone who visits it.

http://activedirectoryfaq.blogspot.com

Guest wrote The real guide to network load balancing or windows WLBS!!
on Tue, Sep 11 2007 1:18 AM Link To This Comment