XP hack to allow more addressable memory over 2Gb?

WackyDan

Diamond Member
Jan 26, 2004
4,794
68
91
I saw a hack here once for systems running XP that had 3 or 4 gig of RAM.....

Been searching for it and can't find it.

basically have a new Laptop that can take 4 gig of ram, and would like to install more than the 2gig.
 

spyordie007

Diamond Member
May 28, 2001
6,229
0
0
Sounds like you're thinking of the /3GB startup switch (boot.ini) which is only supported in server:
http://www.microsoft.com/technet/prodte...c-43bf-b877-e14ae443ecbf.mspx?mfr=true

However it's very important to note that the application must be designed to run this way (i.e. Exchange, SQL).

Regardless I'd stick in the 4GB of RAM and let Windows take care of managing it (in other words do nothing).

EDIT: Just noticed your sig, you've got the same laptop as I have. Not bad hardware.
 

WackyDan

Diamond Member
Jan 26, 2004
4,794
68
91
Originally posted by: spyordie007
Sounds like you're thinking of the /3GB startup switch (boot.ini) which is only supported in server:
http://www.microsoft.com/technet/prodte...c-43bf-b877-e14ae443ecbf.mspx?mfr=true

However it's very important to note that the application must be designed to run this way (i.e. Exchange, SQL).

Regardless I'd stick in the 4GB of RAM and let Windows take care of managing it (in other words do nothing).

EDIT: Just noticed your sig, you've got the same laptop as I have. Not bad hardware.

Thanks for the quick reply....

This is for a T60... which isn't mine.... :(
 

stash

Diamond Member
Jun 22, 2000
5,468
0
0
Spy, your post refers to virtual memory. I think the OP is asking how to get XP to view all of his physical memory up to 4 GB.
 

spikespiegal

Golden Member
Oct 10, 2005
1,219
9
76
However it's very important to note that the application must be designed to run this way

Good point. I have 3 and 4 gigs on many of my Terminal Servers which Win2K has no problems with. However, many of the apps I'm running on those boxes can't work beyond that 2gig page limits, and start acting flaky even though the OS has no problem with it.

In some respects I feel I'm back int the Dos / memmaker days and trying to load TSR's high.
 

jlbenedict

Banned
Jul 10, 2005
3,724
0
0
I was under the impression that Windows XP (32 bit) will never see 4GB of memory?

Something to due with certain address ranges that are reserved, therefore, Windows XP will only see about 3.25GB of memory.

I have 4GB in my rig, and 3.25GB of memory is what Windows XP (32-bit) sees from my system.
 

jlbenedict

Banned
Jul 10, 2005
3,724
0
0
PAE is an Intel-provided memory address extension that enables support of greater than 4 GB of physical memory for most 32-bit (IA-32) Intel Pentium Pro and later platforms. This article provides information to help device driver developers implement Windows drivers that support PAE.

Microsoft supports Physical Address Extension (PAE) memory in Microsoft Windows 2000, Windows XP, and Windows Server 2003 products:

Operating system Maximum memory support with PAE
Windows 2000 Advanced Server
8 GB of physical RAM

Windows 2000 Datacenter Server
32 GB of physical RAM

Windows XP (all versions)
4 GB of physical RAM*

Windows Server 2003 (and SP1), Standard Edition
4 GB of physical RAM*

Windows Server 2003, Enterprise Edition
32 GB of physical RAM

Windows Server 2003, Datacenter Edition
64 GB of physical RAM

Windows Server 2003 SP1, Enterprise Edition
64 GB of physical RAM

Windows Server 2003 SP1, Datacenter Edition
128 GB of physical RAM


* Total physical address space is limited to 4 GB on these versions of Windows.

PAE is supported only on 32-bit versions of the Windows operating system. 64-bit versions of Windows do not support PAE. For information about device driver and system requirements for 64-bit versions of Windows, see 64-bit System Design.

Although support for PAE memory is typically associated with support for more than 4 GB of RAM, PAE can be enabled on Windows XP SP2, Windows Server 2003, and later 32-bit versions of Windows to support hardware enforced Data Execution Prevention (DEP).

Operating System Support. The PAE kernel is not enabled by default for systems that can support more than 4 GB of RAM.

To boot the system and utilize PAE memory, the /PAE switch must be added to the corresponding entry in the Boot.ini file. If a problem should arise, Safe Mode may be used, which causes the system to boot using the normal kernel (support for only 4 GB of RAM) even if the /PAE switch is part of the Boot.ini file.

The PAE mode kernel requires an Intel Architecture processor, Pentium Pro or later, more than 4 GB of RAM, and Windows 2000, Windows XP, or Windows Server 2003.

The PAE kernel can be enabled automatically without the /PAE switch present in the boot entry if the system has DEP enabled (/NOEXECUTE switch is present) or the system processor supports hardware-enforced DEP. Presence of the /NOEXECUTE switch on a system with a processor that supports hardware-enforced DEP implies the /PAE switch. If the system processor is capable of hardware-enforced DEP and the /NOEXECUTE switch is not present in the boot entry, Windows assumes /NOEXECUTE=optin by default and enables PAE mode. For more information, see the topic "Boot Options in a Boot.ini File" in the Windows DDK.
 

Smilin

Diamond Member
Mar 4, 2002
7,357
0
0
/PAE and /3GB don't really apply here. Both of them are a really bad idea on terminal servers too. You'll deplete your PTEs and crash.

Just pop in the ram and you should see it.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
Good point. I have 3 and 4 gigs on many of my Terminal Servers which Win2K has no problems with. However, many of the apps I'm running on those boxes can't work beyond that 2gig page limits, and start acting flaky even though the OS has no problem with it.

Having 4G of memory in a machine shouldn't affect any userland apps, they still have the same 4G of VM available no matter how much physical memory is present.
 

NogginBoink

Diamond Member
Feb 17, 2002
5,322
0
0
Windows NT4, 2000, XP, Server 2003, and Vista will all see 4GB without any further tweaking provided the hardware support is there.

/3GB affects *virtual* memory settings and has nothing to do with physical memory.

Don't touch /PAE unless you really know what you're doing (and have >4GB physical memory).
 

bsobel

Moderator Emeritus<br>Elite Member
Dec 9, 2001
13,346
0
0
Not really true, on a 4gb 32bit system, pci mapping causes a good chunk of space to be 'lost'. /pae or 64bit systems will see the full useable memory, but its hard to get more than 3gig (usable) memory available on a 32bit system.
 

jlbenedict

Banned
Jul 10, 2005
3,724
0
0
Originally posted by: bsobel
Not really true, on a 4gb 32bit system, pci mapping causes a good chunk of space to be 'lost'. /pae or 64bit systems will see the full useable memory, but its hard to get more than 3gig (usable) memory available on a 32bit system.

Exactly. My systems CPU has the hardware DEP, which is required for the /PAE switch to work; Windows XP (32-bit) still will only see about 3.25GB of memory.
Here is a few screenshots:

http://i68.photobucket.com/albums/i24/JOSEPHLB/TaskManager.jpg
http://i68.photobucket.com/albums/i24/JOSEPHLB/SystemProperties.jpg
 

spyordie007

Diamond Member
May 28, 2001
6,229
0
0
Ahh yes, there isnt much you can do about the device mappings. The memory isnt exactly lost, but the system has already mapped those addresses to the hardware.

If that's what the OP is talking about than there is no "hack" to change this, about the only way around it is to go 64 bit.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
The memory isnt exactly lost, but the system has already mapped those addresses to the hardware.

Which means it's lost, if you can't use the memory pointed to by those addresses then they're worthless.

If that's what the OP is talking about than there is no "hack" to change this, about the only way around it is to go 64 bit.

I thought enabling PAE will work around that too because it'll use 36-bit worth of addresses meaning you can remap the I/O address or the memory taken up by them above the 4G mark.
 

michal1980

Diamond Member
Mar 7, 2003
8,019
43
91
Originally posted by: Nothinman
The memory isnt exactly lost, but the system has already mapped those addresses to the hardware.

Which means it's lost, if you can't use the memory pointed to by those addresses then they're worthless.

If that's what the OP is talking about than there is no "hack" to change this, about the only way around it is to go 64 bit.

I thought enabling PAE will work around that too because it'll use 36-bit worth of addresses meaning you can remap the I/O address or the memory taken up by them above the 4G mark.


except that it doesn't always work with some hardware. :-(

the 3gb switch does have its uses in windows xp.

I was working on a finitie elemenatal problem useing soldworks and its FEA software.
The working model space was about 2.6 gigabytes. Without the 3gb switch I would have never completed the problem using that win xp.

It did however cause stablity issues. I.E. I only used Solidworks and nothing else when I used the switch, and would reboot without the switch when I was just using the pc.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
except that it doesn't always work with some hardware. :-(

Then you have a hardware or driver problem, report it to whoever maintains whatever's broken.