Windows 2000 Windows 2000 Server StandardEdition /PAE Question

  • Thread starter Thread starter Microsoft
  • Start date Start date
M

Microsoft

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?
2) Can /PAE be enabled on 2000 Server Standard Edition to allow it to
utilize all 4GB?

Thanks in advance.

PJ.
 
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
 
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@nbnet.nb.ca> wrote in message
news:OGGgPZtiIHA.5780@TK2MSFTNGP06.phx.gbl...
> 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
 
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@nbnet.nb.ca> wrote in message
> news:OGGgPZtiIHA.5780@TK2MSFTNGP06.phx.gbl...
>
>>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

>
>
>
 
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@nbnet.nb.ca> wrote in message
news:ea5Ud7RjIHA.5084@TK2MSFTNGP04.phx.gbl...
> 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@nbnet.nb.ca> wrote in message
>> news:OGGgPZtiIHA.5780@TK2MSFTNGP06.phx.gbl...
>>
>>>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

>>
>>
 
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@nbnet.nb.ca> wrote in message
> news:ea5Ud7RjIHA.5084@TK2MSFTNGP04.phx.gbl...
>
>>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@nbnet.nb.ca> wrote in message
>>>news:OGGgPZtiIHA.5780@TK2MSFTNGP06.phx.gbl...
>>>
>>>
>>>>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
>>>
>>>

>
 
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@nbnet.nb.ca> wrote in message
news:eDVdoYcjIHA.5080@TK2MSFTNGP02.phx.gbl...
> 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@nbnet.nb.ca> wrote in message
>> news:ea5Ud7RjIHA.5084@TK2MSFTNGP04.phx.gbl...
>>
>>>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@nbnet.nb.ca> wrote in message
>>>>news:OGGgPZtiIHA.5780@TK2MSFTNGP06.phx.gbl...
>>>>
>>>>
>>>>>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
>>>>
>>>>

>>
 
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/windo...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@nbnet.nb.ca> wrote in message
> news:eDVdoYcjIHA.5080@TK2MSFTNGP02.phx.gbl...
>
>>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@nbnet.nb.ca> wrote in message
>>>news:ea5Ud7RjIHA.5084@TK2MSFTNGP04.phx.gbl...
>>>
>>>
>>>>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@nbnet.nb.ca> wrote in message
>>>>>news:OGGgPZtiIHA.5780@TK2MSFTNGP06.phx.gbl...
>>>>>
>>>>>
>>>>>
>>>>>>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
>>>>>
>>>>>

>
>
 
Thanks again John for a very comprehensive and clear answer. Cheers.

Paul.

"John John" <audetweld@nbnet.nb.ca> wrote in message
news:O3LTcu8jIHA.4684@TK2MSFTNGP06.phx.gbl...
> 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/windo...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@nbnet.nb.ca> wrote in message
>> news:eDVdoYcjIHA.5080@TK2MSFTNGP02.phx.gbl...
>>
>>>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@nbnet.nb.ca> wrote in message
>>>>news:ea5Ud7RjIHA.5084@TK2MSFTNGP04.phx.gbl...
>>>>
>>>>
>>>>>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@nbnet.nb.ca> wrote in message
>>>>>>news:OGGgPZtiIHA.5780@TK2MSFTNGP06.phx.gbl...
>>>>>>
>>>>>>
>>>>>>
>>>>>>>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
>>>>>>
>>>>>>

>>
 
You're welcome.

John

Microsoft wrote:

> Thanks again John for a very comprehensive and clear answer. Cheers.
>
> Paul.
>
> "John John" <audetweld@nbnet.nb.ca> wrote in message
> news:O3LTcu8jIHA.4684@TK2MSFTNGP06.phx.gbl...
>
>>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/windo...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@nbnet.nb.ca> wrote in message
>>>news:eDVdoYcjIHA.5080@TK2MSFTNGP02.phx.gbl...
>>>
>>>
>>>>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@nbnet.nb.ca> wrote in message
>>>>>news:ea5Ud7RjIHA.5084@TK2MSFTNGP04.phx.gbl...
>>>>>
>>>>>
>>>>>
>>>>>>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@nbnet.nb.ca> wrote in message
>>>>>>>news:OGGgPZtiIHA.5780@TK2MSFTNGP06.phx.gbl...
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>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
>>>>>>>
>>>>>>>

>
 
Back
Top