Win XP Setup with 4 GB of RAM

G

Gis Bun

Hi. I recently boosted my RAM to 4 GB for Win XP SP2 32-bit. I know Win XP
can't handle the full 4 GB but is there anything to get more than the 3 GB I
am getting (or to use the "extra" RAM for something else?). The system
properties states it has exactly 3 GB of RAM and PAE is enabled [yet /3GB and
/PAE aren't in the boot.ini file].
Thanks
 
J

John John

PAE is enabled because of Data Execution Prevention (DEP). You can
disable PAE by adding /noexecute=alwaysoff /NOPAE to the boot.ini file.
I am not necessarily saying that you should disable PAE, but you can
experiment and see what the results are. Please read the suggested
articles below.

There isn't really any way of gaining more usable RAM with Windows XP.
You will have to use a 64-bit Windows version or use one of the 32-bit
Server versions that permits full use Physical Addresss Extensions.
Other than that you would have to change your PCI devices to use more
RAM, your video card is the probably the biggest user of the "lost"
address space. For all it's worth, unless you are using certain memory
hungry applications you are probably not using anywheres near the 3GB
that is presently available.

How to prevent the PAE kernel from loading in Windows Server 2003 with
Service Pack 1 or in Windows XP with Service Pack 2
http://support.microsoft.com/kb/900524/en-us

A detailed description of the Data Execution Prevention (DEP) feature in
Windows XP Service Pack 2, Windows XP Tablet PC Edition 2005, and
Windows Server 2003
http://support.microsoft.com/kb/875352

John
 
G

Gis Bun

Only real needs for the extra RAM is with VMware and a VM or two.

John John said:
PAE is enabled because of Data Execution Prevention (DEP). You can
disable PAE by adding /noexecute=alwaysoff /NOPAE to the boot.ini file.
I am not necessarily saying that you should disable PAE, but you can
experiment and see what the results are. Please read the suggested
articles below.

There isn't really any way of gaining more usable RAM with Windows XP.
You will have to use a 64-bit Windows version or use one of the 32-bit
Server versions that permits full use Physical Addresss Extensions.
Other than that you would have to change your PCI devices to use more
RAM, your video card is the probably the biggest user of the "lost"
address space. For all it's worth, unless you are using certain memory
hungry applications you are probably not using anywheres near the 3GB
that is presently available.

How to prevent the PAE kernel from loading in Windows Server 2003 with
Service Pack 1 or in Windows XP with Service Pack 2
http://support.microsoft.com/kb/900524/en-us

A detailed description of the Data Execution Prevention (DEP) feature in
Windows XP Service Pack 2, Windows XP Tablet PC Edition 2005, and
Windows Server 2003
http://support.microsoft.com/kb/875352

John

Gis said:
Hi. I recently boosted my RAM to 4 GB for Win XP SP2 32-bit. I know Win XP
can't handle the full 4 GB but is there anything to get more than the 3 GB I
am getting (or to use the "extra" RAM for something else?). The system
properties states it has exactly 3 GB of RAM and PAE is enabled [yet /3GB and
/PAE aren't in the boot.ini file].
Thanks
 
J

John John

These can indeed require much RAM. Unfortunately with Windows XP you
won't be able to use the full 4GB installed in the machine.

John

Gis said:
Only real needs for the extra RAM is with VMware and a VM or two.

:

PAE is enabled because of Data Execution Prevention (DEP). You can
disable PAE by adding /noexecute=alwaysoff /NOPAE to the boot.ini file.
I am not necessarily saying that you should disable PAE, but you can
experiment and see what the results are. Please read the suggested
articles below.

There isn't really any way of gaining more usable RAM with Windows XP.
You will have to use a 64-bit Windows version or use one of the 32-bit
Server versions that permits full use Physical Addresss Extensions.
Other than that you would have to change your PCI devices to use more
RAM, your video card is the probably the biggest user of the "lost"
address space. For all it's worth, unless you are using certain memory
hungry applications you are probably not using anywheres near the 3GB
that is presently available.

How to prevent the PAE kernel from loading in Windows Server 2003 with
Service Pack 1 or in Windows XP with Service Pack 2
http://support.microsoft.com/kb/900524/en-us

A detailed description of the Data Execution Prevention (DEP) feature in
Windows XP Service Pack 2, Windows XP Tablet PC Edition 2005, and
Windows Server 2003
http://support.microsoft.com/kb/875352

John

Gis Bun wrote:

Hi. I recently boosted my RAM to 4 GB for Win XP SP2 32-bit. I know Win XP
can't handle the full 4 GB but is there anything to get more than the 3 GB I
am getting (or to use the "extra" RAM for something else?). The system
properties states it has exactly 3 GB of RAM and PAE is enabled [yet /3GB and
/PAE aren't in the boot.ini file].
Thanks
 
J

Jim

Gis Bun said:
Hi. I recently boosted my RAM to 4 GB for Win XP SP2 32-bit. I know Win XP
can't handle the full 4 GB but is there anything to get more than the 3 GB
I
am getting (or to use the "extra" RAM for something else?). The system
properties states it has exactly 3 GB of RAM and PAE is enabled [yet /3GB
and
/PAE aren't in the boot.ini file].
Thanks
XP uses memory mapped IO. XP will not use RAM which overlapps the IO space.
Isn't the PAE instruction used to enable 35 bit addressing? If so, then
unless your computer
has such a bus, the /PAE instruction cannot accomplish much.

Jim
 
J

John John

Jim said:
Hi. I recently boosted my RAM to 4 GB for Win XP SP2 32-bit. I know Win XP
can't handle the full 4 GB but is there anything to get more than the 3 GB
I
am getting (or to use the "extra" RAM for something else?). The system
properties states it has exactly 3 GB of RAM and PAE is enabled [yet /3GB
and
/PAE aren't in the boot.ini file].
Thanks

XP uses memory mapped IO. XP will not use RAM which overlapps the IO space.
Isn't the PAE instruction used to enable 35 bit addressing? If so, then
unless your computer
has such a bus, the /PAE instruction cannot accomplish much.

This 4GB thing has been beaten to death on these groups. The XP PAE
kernel does not do 36-bit addressing, period. The IO address space is
exclusively reserved in the processor's 32-bit address space, it isn't
Windows that maps it there, it's done by the BIOS.

John
 
G

Gis Bun

John John said:
Jim said:
Hi. I recently boosted my RAM to 4 GB for Win XP SP2 32-bit. I know Win XP
can't handle the full 4 GB but is there anything to get more than the 3 GB
I
am getting (or to use the "extra" RAM for something else?). The system
properties states it has exactly 3 GB of RAM and PAE is enabled [yet /3GB
and
/PAE aren't in the boot.ini file].
Thanks

XP uses memory mapped IO. XP will not use RAM which overlapps the IO space.
Isn't the PAE instruction used to enable 35 bit addressing? If so, then
unless your computer
has such a bus, the /PAE instruction cannot accomplish much.

This 4GB thing has been beaten to death on these groups. The XP PAE
kernel does not do 36-bit addressing, period. The IO address space is
exclusively reserved in the processor's 32-bit address space, it isn't
Windows that maps it there, it's done by the BIOS.

John

It's too bad Microsoft's KB doesn't have a proper KB on this subject.

I just set up a quad-core Intel with 4 GB of RAM and it shows all 4 GB of
RAM [using Win Server 2003 R2 SP2 - 32 bit]. I guess it's hardware.

Gis
 
J

John John

Gis said:
:

Jim wrote:

Hi. I recently boosted my RAM to 4 GB for Win XP SP2 32-bit. I know Win XP
can't handle the full 4 GB but is there anything to get more than the 3 GB
I
am getting (or to use the "extra" RAM for something else?). The system
properties states it has exactly 3 GB of RAM and PAE is enabled [yet /3GB
and
/PAE aren't in the boot.ini file].
Thanks



XP uses memory mapped IO. XP will not use RAM which overlapps the IO space.
Isn't the PAE instruction used to enable 35 bit addressing? If so, then
unless your computer
has such a bus, the /PAE instruction cannot accomplish much.

This 4GB thing has been beaten to death on these groups. The XP PAE
kernel does not do 36-bit addressing, period. The IO address space is
exclusively reserved in the processor's 32-bit address space, it isn't
Windows that maps it there, it's done by the BIOS.

John


It's too bad Microsoft's KB doesn't have a proper KB on this subject.

I just set up a quad-core Intel with 4 GB of RAM and it shows all 4 GB of
RAM [using Win Server 2003 R2 SP2 - 32 bit]. I guess it's hardware.

Server 2003 32-bit can effectvely use Physical Address Extensions so it
is able to make full use of the RAM, Windows XP cannot properly use PAE
and it cannot use RAM addresses above the 4GB address arena. Server
2003 Standard supports a maximum of 4GB RAM.

The problem that you are seeing is based on an older architecture
design for memory addressing. All the systems architecture up to this
point were based on a maximum of 4GB of total memory. Nobody really
thought, when this standard was designed, that this amount of memory
would actually be in use. The problem that has happened is that you
have PCI devices that require memory address ranges so that they can
properly execute their commands. These address ranges were mapped in
the upper sections of this maximum amount. Since nobody thought you
would be using up to 4GB these address ranges started around the last
500MB of the memory ranges. This range is called the T.O.M. or Top of
Memory range. This is the point in the bios where it places on hold the
amount of memory that is required by the various PCI devices that are
found on the motherboard. Thus when you have PCI cards or AGP cards
installed on your motherboard these devices hold on to memory for their
own use and take away from the maximum amount of memory that is
available for other tasks. This amount of memory can vary from a little
as 200MB all the way to 1GB of memory (or even more in select cases).
It just depends on the PCI devices you have and the amount of PCI
(including AGP) that you have installed all at once.

There is really no way to get around this basic design limitation. The
only way to get around these type of issues is to use certain new
designs that have brand new architectures (i.e 64-bit designs) that
allow memory to be mapped in area's above 4GB. The brand new Intel Xeon
designs and the AMD Opteron designs are built around 64-bit technology.
This is only ½ of the equation that you would need to find success.
You would also need to use an OS that is actually PAE or PAE aware so
that it is able to address memory above the 4GB level. To find out
about PAE you can search Microsofts website for PAE (Physical Address
Extensions) and it will explain this concept and what OS's actually are
capable of providing this benefit. Windows 2000 and Windows 2003 would
fit both of these criteria. Windows XP on the hand would not allow this
type of ability.

Microsoft has addressed this type of issue in the following Microsoft
Article (291988)
http://support.microsoft.com/default.aspx?scid=kb;en-us;291988

[end quote]

http://www.tyan.com/archive/support/html/memory_faq.html
(The article is dated, it is several years old. It makes no mention of
64-bit operating systems which, of course, are capable of using more
than 4GB of RAM)

Current crop of Microsoft 32-bit operating systems that can utilise more
than 4GB of RAM with the use of Physical Address Extension:

Windows 2000 Advanced Server - 8 processors and 8 GB RAM

Windows 2000 Datacenter Server - 32 processors and 32 GB RAM
(support for 64 GB was not offered because of a lack of systems for testing)

Windows Server 2003, Enterprise Edition - 8 processors and 32 GB RAM

Windows Server 2003 SP1, Enterprise Edition - 8 processors and 64 GB RAM

Windows Server 2003, Datacenter Edition 32 processors and 64 GB RAM

Windows Server 2003 SP1, Datacenter Edition 32 processors and 128 GB RAM

http://www.microsoft.com/whdc/system/platform/server/PAE/pae_os.mspx

John
 
T

Timothy Daniels

I think it should be explicitly pointed out that it is not
physical memory that is being used by those PCI devices,
but rather memory *addresses* up near 4GB. The actual
RAM cells that correspond to those high-numbered
locations in memory are just sitting there unused.

*TimDaniels*
 
R

Ranbir Kaur

John John said:
Gis said:
John John said:
Jim wrote:


Hi. I recently boosted my RAM to 4 GB for Win XP SP2 32-bit. I know Win XP
can't handle the full 4 GB but is there anything to get more than the 3 GB
I
am getting (or to use the "extra" RAM for something else?). The system
properties states it has exactly 3 GB of RAM and PAE is enabled [yet /3GB
and
/PAE aren't in the boot.ini file].
Thanks

XP uses memory mapped IO. XP will not use RAM which overlapps the IO space.
Isn't the PAE instruction used to enable 35 bit addressing? If so, then
unless your computer
has such a bus, the /PAE instruction cannot accomplish much.

This 4GB thing has been beaten to death on these groups. The XP PAE
kernel does not do 36-bit addressing, period. The IO address space is
exclusively reserved in the processor's 32-bit address space, it isn't
Windows that maps it there, it's done by the BIOS.

John


It's too bad Microsoft's KB doesn't have a proper KB on this subject.

I just set up a quad-core Intel with 4 GB of RAM and it shows all 4 GB of
RAM [using Win Server 2003 R2 SP2 - 32 bit]. I guess it's hardware.

Server 2003 32-bit can effectvely use Physical Address Extensions so it
is able to make full use of the RAM, Windows XP cannot properly use PAE
and it cannot use RAM addresses above the 4GB address arena. Server
2003 Standard supports a maximum of 4GB RAM.

The problem that you are seeing is based on an older architecture
design for memory addressing. All the systems architecture up to this
point were based on a maximum of 4GB of total memory. Nobody really
thought, when this standard was designed, that this amount of memory
would actually be in use. The problem that has happened is that you
have PCI devices that require memory address ranges so that they can
properly execute their commands. These address ranges were mapped in
the upper sections of this maximum amount. Since nobody thought you
would be using up to 4GB these address ranges started around the last
500MB of the memory ranges. This range is called the T.O.M. or Top of
Memory range. This is the point in the bios where it places on hold the
amount of memory that is required by the various PCI devices that are
found on the motherboard. Thus when you have PCI cards or AGP cards
installed on your motherboard these devices hold on to memory for their
own use and take away from the maximum amount of memory that is
available for other tasks. This amount of memory can vary from a little
as 200MB all the way to 1GB of memory (or even more in select cases).
It just depends on the PCI devices you have and the amount of PCI
(including AGP) that you have installed all at once.

There is really no way to get around this basic design limitation. The
only way to get around these type of issues is to use certain new
designs that have brand new architectures (i.e 64-bit designs) that
allow memory to be mapped in area's above 4GB. The brand new Intel Xeon
designs and the AMD Opteron designs are built around 64-bit technology.
This is only ½ of the equation that you would need to find success.
You would also need to use an OS that is actually PAE or PAE aware so
that it is able to address memory above the 4GB level. To find out
about PAE you can search Microsofts website for PAE (Physical Address
Extensions) and it will explain this concept and what OS's actually are
capable of providing this benefit. Windows 2000 and Windows 2003 would
fit both of these criteria. Windows XP on the hand would not allow this
type of ability.

Microsoft has addressed this type of issue in the following Microsoft
Article (291988)
http://support.microsoft.com/default.aspx?scid=kb;en-us;291988

[end quote]

http://www.tyan.com/archive/support/html/memory_faq.html
(The article is dated, it is several years old. It makes no mention of
64-bit operating systems which, of course, are capable of using more
than 4GB of RAM)

Current crop of Microsoft 32-bit operating systems that can utilise more
than 4GB of RAM with the use of Physical Address Extension:

Windows 2000 Advanced Server - 8 processors and 8 GB RAM

Windows 2000 Datacenter Server - 32 processors and 32 GB RAM
(support for 64 GB was not offered because of a lack of systems for testing)

Windows Server 2003, Enterprise Edition - 8 processors and 32 GB RAM

Windows Server 2003 SP1, Enterprise Edition - 8 processors and 64 GB RAM

Windows Server 2003, Datacenter Edition 32 processors and 64 GB RAM

Windows Server 2003 SP1, Datacenter Edition 32 processors and 128 GB RAM

http://www.microsoft.com/whdc/system/platform/server/PAE/pae_os.mspx

John

Unfortunately even with all these 64bit OS around, MS hasn't resolved the
hibernation issue. In ancient times servers had 4GB RAM but no one else would
even dream about it. To get my notebook running (and hibernating) with 4GB
RAM I had to use the boot.ini and change

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS.0="Windows XP Professional x64"
/noexecute=optin /fastdetect

to

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS.0="Windows XP Professional x64"
/execute /nopae /maxmem=4032 /fastdetect

and lose 500MB of RAM in the process.

I wished some clever programmer could fix this silly limitation

Ranbir
 
N

Nemesis

Finally if i have a 64 Windows XP O/S i have to Disable PAE
/noexecute=alwaysoff /NOPAE to work with 4GB ram?
 
J

John John (MVP)

64-bit versions of Windows do not support PAE, it is a useless switch in
the boot.ini file, the 64-bit Windows versions do not have a PAE kernel.

John
 
J

John John (MVP)

From a Microsoft article:

For Windows Vista to use all 4 GB of memory on a computer that has 4 GB
of memory installed, the computer must meet the following requirements:
• The chipset must support at least 8 GB of address space. Chipsets that
have this capability include the following:
• Intel 975X
• Intel P965
• Intel 955X on Socket 775
• Chipsets that support AMD processors that use socket F, socket 940,
socket 939, or socket AM2. These chipsets include any AMD socket and CPU
combination in which the memory controller resides in the CPU.
• The CPU must support the x64 instruction set. The AMD64 CPU and the
Intel EM64T CPU support this instruction set.
• The BIOS must support the memory remapping feature. The memory
remapping feature allows for the segment of system memory that was
previously overwritten by the Peripheral Component Interconnect (PCI)
configuration space to be remapped above the 4 GB address line. This
feature must be enabled in the BIOS configuration utility on the
computer. View your computer product documentation for instructions that
explain how to enable this feature. Many consumer-oriented computers may
not support the memory remapping feature. No standard terminology is
used in documentation or in BIOS configuration utilities for this
feature. Therefore, you may have to read the descriptions of the various
BIOS configuration settings that are available to determine whether any
of the settings enable the memory remapping feature.
• An x64 (64-bit) version of Windows Vista must be used.
Contact the computer vendor to determine whether your computer meets
these requirements.

Although this was written for Vista 64-bit I believe that applies to XP
64-bit. Ask on the 64-bit newsgroup for more help and advice.

John
 
N

Nemesis

Thanks : )

John John (MVP) said:
From a Microsoft article:

For Windows Vista to use all 4 GB of memory on a computer that has 4 GB
of memory installed, the computer must meet the following requirements:
• The chipset must support at least 8 GB of address space. Chipsets that
have this capability include the following:
• Intel 975X
• Intel P965
• Intel 955X on Socket 775
• Chipsets that support AMD processors that use socket F, socket 940,
socket 939, or socket AM2. These chipsets include any AMD socket and CPU
combination in which the memory controller resides in the CPU.
• The CPU must support the x64 instruction set. The AMD64 CPU and the
Intel EM64T CPU support this instruction set.
• The BIOS must support the memory remapping feature. The memory
remapping feature allows for the segment of system memory that was
previously overwritten by the Peripheral Component Interconnect (PCI)
configuration space to be remapped above the 4 GB address line. This
feature must be enabled in the BIOS configuration utility on the
computer. View your computer product documentation for instructions that
explain how to enable this feature. Many consumer-oriented computers may
not support the memory remapping feature. No standard terminology is
used in documentation or in BIOS configuration utilities for this
feature. Therefore, you may have to read the descriptions of the various
BIOS configuration settings that are available to determine whether any
of the settings enable the memory remapping feature.
• An x64 (64-bit) version of Windows Vista must be used.
Contact the computer vendor to determine whether your computer meets
these requirements.

Although this was written for Vista 64-bit I believe that applies to XP
64-bit. Ask on the 64-bit newsgroup for more help and advice.

John
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top