Re: Windows 2000 Server StandardEdition /PAE Question
- From: "Microsoft" <citpaj@xxxxxxxxxxxxxxxxxxx>
- Date: Wed, 26 Mar 2008 18:07:00 -0400
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
- Windows 2000 Server StandardEdition /PAE Question
- Prev by Date: Re: W2k - failure to load SP4 because of no Web access
- Next by Date: Re: Windows Service Pack 4 ~ Problems with the Registry
- Previous by thread: Re: Windows 2000 Server StandardEdition /PAE Question
- Next by thread: Re: Windows 2000 Server StandardEdition /PAE Question
- Index(es):
Relevant Pages
|