Re: Windows 2000 Server StandardEdition /PAE Question
- From: "Microsoft" <citpaj@xxxxxxxxxxxxxxxxxxx>
- Date: Thu, 27 Mar 2008 13:31:08 -0400
Thanks again John for a very comprehensive and clear answer. Cheers.
Paul.
"John John" <audetweld@xxxxxxxxxxx> wrote in message
news:O3LTcu8jIHA.4684@xxxxxxxxxxxxxxxxxxxxxxx
It appears that the application vendor is now mixing, or confusing
Physical Memory with Virtual Memory and /PAE with 4GT RAM Tuning (/3GB).
Using the /PAE switch does not provide more physical memory to the
programs, it allows operating systems capable of using the switch to use
more than 4GB of RAM. Of course, if the operating system has more RAM
available it will reduce paging, more applications will be able to remain
in the RAM, but that is not because the switch allows the applications to
use more RAM per se, it is only common sense that if the operating system
has more RAM that it will be able to reduce paging. Windows 2000 Server
does not support this switch and it cannot use more than 4GB of RAM, using
this switch does not permit applications to use more RAM.
The /3GB switch changes the way the operating system allots "Virtual
Memory". Virtual Memory should not be confused with Physical Memory
(RAM). 32-bit operating systems have 4GB of "Virtual Address Space". This
address space is divided between the operating system and the user-mode
applications, 2GB is reserved for the kernel and 2GB is allotted to the
applications. Each application has it's own private "Virtual Address
Space", each application can have 2GB of Virtual Address Space regardless
of what others already have. Technically the combined Virtual Address
Space can be as large as the disk, it is only limited by the size of the
page file. You could start ten very large applications and each could
request the full 2GB of private Virtual Address Space available, to
satisfy all the requests for private space for the applications the system
would simply use a 20GB pagefile, of course this isn't exactly an optimal
scenario but it demonstrate how applications can all obtain 2GB of private
virtual address space.
With the use of the /3GB switch the virtual memory available remains at
4GB but the the system changes the way it allots the Virtual Memory, it
allots 3GB to the applications and limits the kernel space to 1GB. Care
has to be used when using this switch, the system should be closely
monitored, the operating system could be starved of memory or the system's
free Page Table Entries could fall perilously low, which could hamper the
Virtual Memory Manager's ability to map virtual memory pages to physical
memory pages.
But wait, that is not all, there is another catch with the /3GB switch.
Windows 2000 Professional and Windows 2000 Server do not support this
switch. You can still use the switch in the boot.ini file but it will
have a bit of a nasty unexpected effect. Using the switch on these
operating systems will limit the kernel space to 1GB but it will not
increase the user-mode process space to 3GB, the user-mode space will
remain at 2GB! In effect using this switch on those operating systems
simply reduces the available space by 1GB and does nothing for the
applications! The use of the switch on Windows 2000 or Windows 2000
Server is useful for testing drivers to see how they behave within the
limited kernel space but other than that the switch is of not much use.
Address Windowing Extensions (AWE) is another technique that can be used
to truly increase available memory for the applications but that is
another subject for another post.
You may find the following articles informative:
Virtual Address Space
http://msdn2.microsoft.com/en-us/library/aa366912.aspx
Memory Management - Demystifying /3GB
http://blogs.technet.com/askperf/archive/2007/03/23/memory-management-demystifying-3gb.aspx
A description of the 4 GB RAM Tuning feature and the Physical Address
Extension switch
http://support.microsoft.com/kb/291988/
http://technet2.microsoft.com/windowsserver/en/library/cab49770-0239-4a8b-90c1-612e70b729c81033.mspx?mfr=true
How to configure SQL Server to use more than 2 GB of physical memory
http://support.microsoft.com/kb/274750/en-us
John
Microsoft wrote:
John, sorry to keep this stream lingering, but I have a vendor with an
application that uses the Windows 2000 Standard Edition server in
question, specifically the SQL Server 2000 Standard Edition on that
server. He is insisting that we can and should use the /PAE switch on
that configuration and that it will improve the performance of their
application by reducing paging. His point is that applications can only
use up to 2 GB or RAM on W2K and that using the /PAE switch allows more
physical RAM to be used by the application. Some excerpyts from an
e-mail exchange follow. I'd like your comments on the accuracy and
viability of his reasoning, please:
"... I quite literally make this change all day long and see the positive
effects each and every time ... per
http://support.microsoft.com/kb/283037:
Typically, a process running under Windows 2000 or Windows Server 2003
can access up to 2 GB of memory address space (assuming the /3GB switch
was not used) with some of the memory being physical memory and some
being virtual memory. The more programs (and, therefore, more processes)
that run, the more memory you commit up to the full 2 GB of address
space.
When this situation occurs, the paging process increases dramatically and
performance may be negatively impacted. The Windows 2000 and Windows
Server 2003 memory managers use PAE to provide more physical memory to a
program. This reduces the need to swap the memory of the page file and
results in increased performance. The program itself is not aware of the
actual memory size. All the memory management and allocation of the PAE
memory is handled by the memory manager independently of the programs
that run.
.... the portion of the KB article (above) applies and should clearly
indicate why making the change works."
I would appreciate your comments. Thanks,
PJ.
"John John" <audetweld@xxxxxxxxxxx> wrote in message
news:eDVdoYcjIHA.5080@xxxxxxxxxxxxxxxxxxxxxxx
You're welcome. I would like to add here that the reserved memory
address space by the devices is not necessarily reserved to talk to the
processor. Some of the devices may reserve memory addresses for their own
private use, addresses where they can execute their own commands. They
may not necessarily talk to the processor at those addresses but the end
result is the same, the private addresses will be marked as off limits to
the processor and the RAM will still end up short of addresses in the
lower 4GB memory arena. My earlier reply was missing this important bit
of information and without this information it is misleading.
John
Microsoft wrote:
Excellent reply John!
I had understood the concepts 'reserved RAM', but your reply has taken
my understanding to a whole new level. Your point about servers really
only needing minimal hardware, at least in terms of video, audio and
other 'frills' is well taken. We only use commercial servers (HP's)
which as you know don't have any unnecessary stuff, so that's not an
issue. Thanks again.
PJ.
"John John" <audetweld@xxxxxxxxxxx> wrote in message
news:ea5Ud7RjIHA.5084@xxxxxxxxxxxxxxxxxxxxxxx
Let's see if I can explain this in a few short paragraphs.
The processor works with data, it brings in data, processes it and
returns data. Every bit of data comes in to the processor from a
memory address and every bit leaving the processor goes to a memory
address. A 32-bit processor has 4,294,967,296 memory addresses. This
is the processor's addressable memory range or the Address Space, with
these memory addresses the processor can directly access four gigabytes
of memory.
So what's the problem? The processor has enough addresses for 4GB of
RAM, why isn't it using all of it? The problem is that if the
processor gave all the addresses to the RAM it would have none left for
other things, anything and everything that needs to talk to the
processor would have to do it through the RAM or the processor would
have to dump RAM addresses to talk to other devices!
Your computer is not only made up of RAM, the processor has to work
with other hardware devices, it has to send and get data to and from
some of those other devices. Remember, the processor gets and returns
data to memory addresses, the 32-bit processor has a 4GB address range.
For example, the BIOS and system board will reserve and use a bit less
than 1 megabyte of address space directly at the processor, when the
processor needs to talk with the BIOS or motherboard it will do so
directly by using their reserved addresses, the addresses reserved by
and given to the system board cannot be used by the RAM. This
(oversimplified) example shows why a 32-bit processor cannot use all of
the RAM when 4GB is installed.
So now you may be thinking that 1 megabyte of memory addresses being
lost to the system board is a far cry from what your Windows
installation is seeing and reporting. Well, you see, most PCI devices
can communicate directly with the processor. These devices also
reserve exclusive memory addresses directly at the processor, if the
processor needs to talk to the video card it will do so at the
addresses reserved by the video card, the addresses where the video
card is listening. Your other PCI devices like sound cards, controller
cards and so on also reserve addresses directly at the processor, the
processor can send and receive data directly to and from these devices.
These devices can reserve a lot of address space, a high end sound card
can reserve 100 megabyte or more of Address Space. A video card with
512MB of on board memory has to have a way of sending the data in that
memory to the processor when needed, if all the memory addresses were
used by RAM the processor would have none left to satisfy the needs of
other devices. That is why addresses are reserved for exclusive use by
the PCI devices, the addresses that are reserved for these devices are
in turn not available for RAM addressing. The amount of memory address
space used by these devices can be as little as a few hundred megabytes
and all the way up to 1GB and more.
It is important to note that the other devices do not use RAM, they
reserve or use addresses at the processor and in turn these addresses
are not available for the RAM, the RAM is in fact deprived of the
addresses and the RAM without address space goes unused. To overcome
this address shortage problem (newer) Intel 32-bit processors make use
of Physical Address Extensions (PAE) which widens the address width to
36-bits and greatly increases the available memory address space. The
use of PAE and 36-bit addressing allows the processor to access 64GB of
RAM, the RAM that was previously unaddressed can now be addressed.
The catch is that the PCI devices keep their addresses in the lower 4GB
address range and the previously unavailable address space for the RAM
is shifted *above* the 4GB arena. The problem is that to access the
RAM above the 4GB arena the operating system has to fully support this
PAE feature, if it doesn't it cannot access the RAM in the space above
the 4GB boundary. Raymond Chen has explained this very well here:
http://blogs.msdn.com/oldnewthing/archive/2006/08/14/699521.aspx
Windows 2000 Professional, Windows 2000 Server, Windows XP 32-bits and
Vista 32-bits do not make full use of this /PAE feature, they are
unable to use RAM addressed above the 4GB boundary. You need Windows
2000 Advanced Server or better to be able to fully use this /PAE
feature.
To see how much memory addresses are reserved and used by hardware
devices look in the Device Manager and view "Resources by Connection".
Expand the Memory tree and you will see the memory map. On 32-bit
servers or on number crunching workstations where RAM usage is very
demanding hardware selection is important. The server should only have
necessary hardware installed in it, superfluous unused devices should
be removed from the server and the video adapter should not have oodles
of memory, most servers only display text and basic stuff, there is
usually no need to stick a 512MB video adapter in a server, nor is
there usually any need for sound cards.
John
Microsoft wrote:
Thanks John. But aside from the memory used by hardware devices, the
OS sees the rest, right? Do you have any idea how much a standard
server uses for standard devices?
PJ.
"John John" <audetweld@xxxxxxxxxxx> wrote in message
news:OGGgPZtiIHA.5780@xxxxxxxxxxxxxxxxxxxxxxx
Microsoft wrote:
Hi.
I have a Windows 2000 Server Standard Edition, with 4GB of RAM
installed. I also have SQL Server 2000 Standard Edition installed on
the same server. I'd like Windows to 'see' all $GB of RAM and I've
read articles on /PAE, but unfortunately some of these articles
imply that Windows 2000 Server Standard Edition cannot use /PAE. So
I have a couple of questions that I hope the group can answer:
1) Does Windows 2000 Server Standard Edition only support 2GB of RAM
out of the box?
No, it supports 4GB, but the operating system cannot see or use all
of it because some of the memory address space is used by hardware
devices.
2) Can /PAE be enabled on 2000 Server Standard Edition to allow it
to utilize all 4GB?
No.
John
.
- Follow-Ups:
- Re: Windows 2000 Server StandardEdition /PAE Question
- From: John John
- Re: Windows 2000 Server StandardEdition /PAE Question
- References:
- Windows 2000 Server StandardEdition /PAE Question
- From: Microsoft
- Re: Windows 2000 Server StandardEdition /PAE Question
- From: John John
- Re: Windows 2000 Server StandardEdition /PAE Question
- From: Microsoft
- Re: Windows 2000 Server StandardEdition /PAE Question
- From: John John
- Re: Windows 2000 Server StandardEdition /PAE Question
- From: Microsoft
- Re: Windows 2000 Server StandardEdition /PAE Question
- From: John John
- Re: Windows 2000 Server StandardEdition /PAE Question
- From: Microsoft
- Re: Windows 2000 Server StandardEdition /PAE Question
- From: John John
- Windows 2000 Server StandardEdition /PAE Question
- Prev by Date: Re: Blank Desktop
- Next by Date: Re: delete hotfixes? - computer still slow
- Previous by thread: Re: Windows 2000 Server StandardEdition /PAE Question
- Next by thread: Re: Windows 2000 Server StandardEdition /PAE Question
- Index(es):
Relevant Pages
|