Guest Microsoft Posted March 20, 2008 Posted March 20, 2008 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.
Guest John John Posted March 20, 2008 Posted March 20, 2008 Re: Windows 2000 Server StandardEdition /PAE Question 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
Guest Microsoft Posted March 22, 2008 Posted March 22, 2008 Re: Windows 2000 Server StandardEdition /PAE Question 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
Guest John John Posted March 23, 2008 Posted March 23, 2008 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@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 > > >
Guest Microsoft Posted March 24, 2008 Posted March 24, 2008 Re: Windows 2000 Server StandardEdition /PAE Question 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 >> >>
Guest John John Posted March 24, 2008 Posted March 24, 2008 Re: Windows 2000 Server StandardEdition /PAE Question 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 >>> >>> >
Guest Microsoft Posted March 26, 2008 Posted March 26, 2008 Re: Windows 2000 Server StandardEdition /PAE Question 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 >>>> >>>> >>
Guest John John Posted March 27, 2008 Posted March 27, 2008 Re: Windows 2000 Server StandardEdition /PAE Question It appears that the application vendor is now mixing, or confusing Physical Memory with Virtual Memory and /PAE with 4GT RAM Tuning (/3GB). Using the /PAE switch does not provide more physical memory to the programs, it allows operating systems capable of using the switch to use more than 4GB of RAM. Of course, if the operating system has more RAM available it will reduce paging, more applications will be able to remain in the RAM, but that is not because the switch allows the applications to use more RAM per se, it is only common sense that if the operating system has more RAM that it will be able to reduce paging. Windows 2000 Server does not support this switch and it cannot use more than 4GB of RAM, using this switch does not permit applications to use more RAM. The /3GB switch changes the way the operating system allots "Virtual Memory". Virtual Memory should not be confused with Physical Memory (RAM). 32-bit operating systems have 4GB of "Virtual Address Space". This address space is divided between the operating system and the user-mode applications, 2GB is reserved for the kernel and 2GB is allotted to the applications. Each application has it's own private "Virtual Address Space", each application can have 2GB of Virtual Address Space regardless of what others already have. Technically the combined Virtual Address Space can be as large as the disk, it is only limited by the size of the page file. You could start ten very large applications and each could request the full 2GB of private Virtual Address Space available, to satisfy all the requests for private space for the applications the system would simply use a 20GB pagefile, of course this isn't exactly an optimal scenario but it demonstrate how applications can all obtain 2GB of private virtual address space. With the use of the /3GB switch the virtual memory available remains at 4GB but the the system changes the way it allots the Virtual Memory, it allots 3GB to the applications and limits the kernel space to 1GB. Care has to be used when using this switch, the system should be closely monitored, the operating system could be starved of memory or the system's free Page Table Entries could fall perilously low, which could hamper the Virtual Memory Manager's ability to map virtual memory pages to physical memory pages. But wait, that is not all, there is another catch with the /3GB switch. Windows 2000 Professional and Windows 2000 Server do not support this switch. You can still use the switch in the boot.ini file but it will have a bit of a nasty unexpected effect. Using the switch on these operating systems will limit the kernel space to 1GB but it will not increase the user-mode process space to 3GB, the user-mode space will remain at 2GB! In effect using this switch on those operating systems simply reduces the available space by 1GB and does nothing for the applications! The use of the switch on Windows 2000 or Windows 2000 Server is useful for testing drivers to see how they behave within the limited kernel space but other than that the switch is of not much use. Address Windowing Extensions (AWE) is another technique that can be used to truly increase available memory for the applications but that is another subject for another post. You may find the following articles informative: Virtual Address Space http://msdn2.microsoft.com/en-us/library/aa366912.aspx Memory Management - Demystifying /3GB http://blogs.technet.com/askperf/archive/2007/03/23/memory-management-demystifying-3gb.aspx A description of the 4 GB RAM Tuning feature and the Physical Address Extension switch http://support.microsoft.com/kb/291988/ http://technet2.microsoft.com/windowsserver/en/library/cab49770-0239-4a8b-90c1-612e70b729c81033.mspx?mfr=true How to configure SQL Server to use more than 2 GB of physical memory http://support.microsoft.com/kb/274750/en-us John Microsoft wrote: > John, sorry to keep this stream lingering, but I have a vendor with an > application that uses the Windows 2000 Standard Edition server in question, > specifically the SQL Server 2000 Standard Edition on that server. He is > insisting that we can and should use the /PAE switch on that configuration > and that it will improve the performance of their application by reducing > paging. His point is that applications can only use up to 2 GB or RAM on > W2K and that using the /PAE switch allows more physical RAM to be used by > the application. Some excerpyts from an e-mail exchange follow. I'd like > your comments on the accuracy and viability of his reasoning, please: > > "... I quite literally make this change all day long and see the positive > effects each and every time ... per http://support.microsoft.com/kb/283037: > > Typically, a process running under Windows 2000 or Windows Server 2003 can > access up to 2 GB of memory address space (assuming the /3GB switch was not > used) with some of the memory being physical memory and some being virtual > memory. The more programs (and, therefore, more processes) that run, the > more memory you commit up to the full 2 GB of address space. > > When this situation occurs, the paging process increases dramatically and > performance may be negatively impacted. The Windows 2000 and Windows Server > 2003 memory managers use PAE to provide more physical memory to a program. > This reduces the need to swap the memory of the page file and results in > increased performance. The program itself is not aware of the actual memory > size. All the memory management and allocation of the PAE memory is handled > by the memory manager independently of the programs that run. > > .... the portion of the KB article (above) applies and should clearly > indicate why making the change works." > > I would appreciate your comments. Thanks, > > PJ. > > "John John" <audetweld@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 >>>>> >>>>> > >
Guest Microsoft Posted March 27, 2008 Posted March 27, 2008 Re: Windows 2000 Server StandardEdition /PAE Question 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/windowsserver/en/library/cab49770-0239-4a8b-90c1-612e70b729c81033.mspx?mfr=true > > How to configure SQL Server to use more than 2 GB of physical memory > http://support.microsoft.com/kb/274750/en-us > > John > > > Microsoft wrote: > >> John, sorry to keep this stream lingering, but I have a vendor with an >> application that uses the Windows 2000 Standard Edition server in >> question, specifically the SQL Server 2000 Standard Edition on that >> server. He is insisting that we can and should use the /PAE switch on >> that configuration and that it will improve the performance of their >> application by reducing paging. His point is that applications can only >> use up to 2 GB or RAM on W2K and that using the /PAE switch allows more >> physical RAM to be used by the application. Some excerpyts from an >> e-mail exchange follow. I'd like your comments on the accuracy and >> viability of his reasoning, please: >> >> "... I quite literally make this change all day long and see the positive >> effects each and every time ... per >> http://support.microsoft.com/kb/283037: >> >> Typically, a process running under Windows 2000 or Windows Server 2003 >> can access up to 2 GB of memory address space (assuming the /3GB switch >> was not used) with some of the memory being physical memory and some >> being virtual memory. The more programs (and, therefore, more processes) >> that run, the more memory you commit up to the full 2 GB of address >> space. >> >> When this situation occurs, the paging process increases dramatically and >> performance may be negatively impacted. The Windows 2000 and Windows >> Server 2003 memory managers use PAE to provide more physical memory to a >> program. This reduces the need to swap the memory of the page file and >> results in increased performance. The program itself is not aware of the >> actual memory size. All the memory management and allocation of the PAE >> memory is handled by the memory manager independently of the programs >> that run. >> >> .... the portion of the KB article (above) applies and should clearly >> indicate why making the change works." >> >> I would appreciate your comments. Thanks, >> >> PJ. >> >> "John John" <audetweld@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 >>>>>> >>>>>> >>
Guest John John Posted March 27, 2008 Posted March 27, 2008 Re: Windows 2000 Server StandardEdition /PAE Question 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/windowsserver/en/library/cab49770-0239-4a8b-90c1-612e70b729c81033.mspx?mfr=true >> >>How to configure SQL Server to use more than 2 GB of physical memory >>http://support.microsoft.com/kb/274750/en-us >> >>John >> >> >>Microsoft wrote: >> >> >>>John, sorry to keep this stream lingering, but I have a vendor with an >>>application that uses the Windows 2000 Standard Edition server in >>>question, specifically the SQL Server 2000 Standard Edition on that >>>server. He is insisting that we can and should use the /PAE switch on >>>that configuration and that it will improve the performance of their >>>application by reducing paging. His point is that applications can only >>>use up to 2 GB or RAM on W2K and that using the /PAE switch allows more >>>physical RAM to be used by the application. Some excerpyts from an >>>e-mail exchange follow. I'd like your comments on the accuracy and >>>viability of his reasoning, please: >>> >>>"... I quite literally make this change all day long and see the positive >>>effects each and every time ... per >>>http://support.microsoft.com/kb/283037: >>> >>>Typically, a process running under Windows 2000 or Windows Server 2003 >>>can access up to 2 GB of memory address space (assuming the /3GB switch >>>was not used) with some of the memory being physical memory and some >>>being virtual memory. The more programs (and, therefore, more processes) >>>that run, the more memory you commit up to the full 2 GB of address >>>space. >>> >>>When this situation occurs, the paging process increases dramatically and >>>performance may be negatively impacted. The Windows 2000 and Windows >>>Server 2003 memory managers use PAE to provide more physical memory to a >>>program. This reduces the need to swap the memory of the page file and >>>results in increased performance. The program itself is not aware of the >>>actual memory size. All the memory management and allocation of the PAE >>>memory is handled by the memory manager independently of the programs >>>that run. >>> >>>.... the portion of the KB article (above) applies and should clearly >>>indicate why making the change works." >>> >>>I would appreciate your comments. Thanks, >>> >>>PJ. >>> >>>"John John" <audetweld@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 >>>>>>> >>>>>>> >
Recommended Posts