Re: Windows 2000 Server StandardEdition /PAE Question



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



.



Relevant Pages

  • Re: Alocated Memory Error (SQLSERVR)
    ... but my understanding is that the MSDE instances are designed to ... and you don't want it grabbing all that RAM. ... running but non ever going about 200mb of memory usage. ... Server 2000 SP4, ...
    (microsoft.public.windows.server.sbs)
  • Re: Windows 2000 Server StandardEdition /PAE Question
    ... specifically the SQL Server 2000 Standard Edition on that server. ... His point is that applications can only use up to 2 GB or RAM on ... a process running under Windows 2000 or Windows Server 2003 can ... used) with some of the memory being physical memory and some being virtual ...
    (microsoft.public.win2000.general)
  • Re: Alocated Memory Error (SQLSERVR)
    ... FWIW I am not using sbs 2003 premium, ... non ever going about 200mb of memory usage. ... on what you should throttle the RAM to. ... Server 2000 SP4, ...
    (microsoft.public.windows.server.sbs)
  • Re: Alocated Memory Error (SQLSERVR)
    ... what you should throttle the RAM to. ... Server 2000 SP4, ... The memory problem on my ... shared exchange server address book or anything exchange related). ...
    (microsoft.public.windows.server.sbs)
  • Re: High memory usage (*HELP*)
    ... you can use Computer Management MMC to view the server logs. ... a server with 4 GB RAM, I doubt you need the second page file on D. So ... The virtual memory on D: drive is set to: 1550/3075 ... throttled ISA and Monitoring. ...
    (microsoft.public.windows.server.sbs)