# The old 4gb /PAE thing...



## Mikeraphone (Jul 28, 2008)

Ive bought 4GB of RAM and am only getting 3GB recognized by Windows XP (SP3 32bit).

I have added the /3GB and /PAE switches so my bootini now looks like:

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /3GB /PAE /noexecute=optin /fastdetect

This is an audio workstation so having the extra gig in my RAM and thus more Memory would be awesome.

I heard somewhere that the 4gb cap may be to do with total system memory including video cards and the such but my video card only has 256megs on there so I should still see 3.75GB in the System Properties no?

System Specs:
Pentium D 3.00ghz
4GB DDR2 800 RAM
Asus P5dwd2-E Premium Motherboard
NVIDIA GeForce 6600GT

Any ideas why it doesnt seem to be working for me?


----------



## sobeit (Nov 11, 2007)

if your computer is only 32 bit and you are running 32 bit operating system, then all you will see is 3 gigs. 

For 4 gigs to be recognize you must have both a 64bit system and 64bit operating system.


----------



## Mikeraphone (Jul 28, 2008)

^^ Do a google there are countless tutorials out there that say it can be done on a 32bit system using the /PAE and/or /3GB switches in you boot.ini and countless success stories, I just cant seem to get it to work myself.


----------



## McNinja (Jun 22, 2008)

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

try this article


----------



## White_Pointer (May 12, 2007)

I'd be very careful about using the /3GB switch in Windows XP - at least not without knowing what it actually does and how it works. /3GB doesn't actually allow you to access more of your RAM, what it does is allocate your virtual memory differently so instead of the default 2 gigs for kernel and 2 gigs for apps, you get 1 gig for kernel and 3 gigs for apps. This can actually result in system instability because the OS has much less space to work in. In fact the /3GB switch isn't even technically supported by XP (it'll work, but can cause you major headaches, and it's not going to give you the results you are after anyway).

I don't have much experience with using the /PAE switch, but from what I understand it used to create huge driver incompatibility problems prior to XP SP2 - then since SP2 Microsoft changed it so it basically did nothing. All versions of XP since SP2 (except the 64-bit one) have a hard limit on memory addressing regardless of what kind of configuration you've got.

So, in a nutshell, sobeit is correct. If you want to use 4GB or more RAM in your machine, you'll need a 64-bit CPU and a 64-bit OS to run on it.


----------



## Mikeraphone (Jul 28, 2008)

White_Pointer said:


> I'd be very careful about using the /3GB switch in Windows XP - at least not without knowing what it actually does and how it works. /3GB doesn't actually allow you to access more of your RAM, what it does is allocate your virtual memory differently so instead of the default 2 gigs for kernel and 2 gigs for apps, you get 1 gig for kernel and 3 gigs for apps. This can actually result in system instability because the OS has much less space to work in. In fact the /3GB switch isn't even technically supported by XP (it'll work, but can cause you major headaches, and it's not going to give you the results you are after anyway).
> 
> I don't have much experience with using the /PAE switch, but from what I understand it used to create huge driver incompatibility problems prior to XP SP2 - then since SP2 Microsoft changed it so it basically did nothing. All versions of XP since SP2 (except the 64-bit one) have a hard limit on memory addressing regardless of what kind of configuration you've got.
> 
> So, in a nutshell, sobeit is correct. If you want to use 4GB or more RAM in your machine, you'll need a 64-bit CPU and a 64-bit OS to run on it.


Well. Ive popped in both switches and am experiencing no problems and haven't heard of Pro Tools having any problems with them before, and that is the only application I am running on the system.

I would love to upgrade to a 64bit OS but Pro Tools doesn't support it at the moment so that has me stuck in 32bit land.

Which brings me back to my old problem. Why doesnt my System Properties report more than 3GB after I have added the /3gb and /PAE switches to my boot.ini?


----------



## White_Pointer (May 12, 2007)

You'll most likely run into problems if you start running graphically intensive applications like 3D games. Of course if you aren't going to, and Pro Tools is the only thing you are ever going to run on the system, then you probably aren't going to experience much instability. 

But...as I said, the /3GB switch does NOT give you the results you are after. It doesn't magically make Windows use more RAM. It simply allocates your virtual memory differently to allow your apps to use more, and the OS to use less.

As for /PAE - as I mentioned, since XP SP2 that switch does essentially nothing, because there's a hard limit on the memory addressing regardless of your configuration.

That's why Windows still reports 3 gigs - it's because it's only using 3 gigs, despite the fact you have those flags enabled.


----------



## logical1 (Jul 14, 2008)

which games that ur runnin that you need all 4 gigs to play lol. 3 gigs is plenty!

i too have that prob i have 4 gigs of ram in my comp. but i never play any games that require u to have 4 gigs for it to run smoothly


----------



## White_Pointer (May 12, 2007)

No, that's not what I meant. I mean the OS has less virtual memory to swap with the RAM. The more the OS needs to do (such as sending signals to the video card), the more it's going to struggle, because it's working with half as much virtual memory as it should be.


----------



## McNinja (Jun 22, 2008)

i have 4 gigs but i use 1.25 gigs while just running the background


----------



## justpassingby (Mar 11, 2007)

Forget about that /PAE stuff. 

The /PAE switch is not meant to allow a 32bit OS to use more than 3GB on a system with 4GB of RAM, it's meant to allow some 32bit OS, namely Windows Server 2000 and 2003, to recognize the memory above 4GB when the amount of RAM is actually more than 4GB, which is not your case. The hardware will also need to be 64bit compatible. Even in the case of 64bit capable hardware with more than 4GB of physical RAM I'm pretty sure that XP 32bit will still report less than the total of installed RAM. 

The /PAE switch will cause issues because 32bit apps and drivers are not designed to be used on systems where it's enabled. It's really only useful to programmers and on some Windows server systems.


> when not using PAE memory addressing, it is possible for a device driver to assume that physical addresses and 32-bit virtual address limits are identical. PAE memory makes this assumption untrue.
> 
> Several assumptions and shortcuts that could previously be used safely do not apply. In general, these fall in to three categories:
> 
> ...


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



> *Some drivers might not load if PAE is enabled*, because the device might be unable to perform 64-bit addressing or the drivers might assume that PAE mode requires more than 4 GB of RAM. Such drivers expect that they will always receive 64-bit addresses when in PAE mode and that they or their device cannot interpret the address.
> 
> *Other drivers might load in PAE mode but cause system instability* by directly modifying system page table entries (PTEs). These drivers expect 32-bit PTEs, but receive 64-bit PTEs in PAE mode instead.
> 
> The largest driver PAE compatibility issue involves direct memory access (DMA) transfers and map register allocation. *Many devices that support DMA, typically 32-bit adapters, cannot perform 64-bit physical addressing*. When these devices run in 32-bit mode, the devices can address all physical address space. In PAE mode, data can be present at a physical address that is more than 4 GB. To enable devices with these constraints to function in this scenario, the Windows 2000 Server family and later versions of Windows provide double-buffering for the DMA transaction. The Windows 2000 Server family and later versions of Windows do this by providing a 32-bit address that is indicated by a map register. The device can perform the DMA transaction to the 32-bit address and the kernel copies the memory to the 64-bit address that is provided to the driver. When the system runs with PAE disabled, drivers for 32-bit devices never require their map registers to be backed by real memory. This means that double-buffering is not required, because all devices and drivers are contained within the 32-bit address space. Based on tests of drivers for 32-bit devices on 64-bit processor–based computers, it is expected that most client-tested, DMA-capable drivers expect unlimited map registers.


source : The RAM reported by the System Properties dialog box and the System Information tool is less than you expect in Windows Vista or in Windows XP Service Pack 2 (also applies to XP SP3).


The rest has already been answered by Sobeit and White_Pointer. 32bit means the whole system can't use more than 4GB of physical memory. Your video card uses physical memory, but also your sound chip, network controller and lots of other hardware devices. XP 32bit is built in such a way that, no matter what switches you play with, it will never report the correct amount of memory on systems with more than 3GB of RAM. On some systems Vista 32bit may show the 4GB of RAM but still won't be able to use all of it (showing the 4GB is simply a way to prevent users from complaining).



Mikeraphone said:


> I heard somewhere that the 4gb cap may be to do with total system memory including video cards and the such but my video card only has 256megs on there so I should still see 3.75GB in the System Properties no?


 The maths don't work like that. The amount of usable memory will be limited to a given figure depending on the hardware installed to avoid potential driver compatibility issues. Read this for more informations : 


> These differences are because of the BIOS and possibly driver reservations of physical memory. For example, some BIOS implementations allocate some physical memory for the graphics adapter. Typical sizes are from 8 MB to 128 MB for graphics. Other sizes are possible. The BIOS and some drivers may reserve physical memory for other peripherals or purposes. These reservations are reasonable and are part of the usual operation for a computer. However, they do reduce how much physical memory is available for use by the operating system and applications. These reservations affect both 32-bit and 64-bit computers.
> 
> On computers that have a 32-bit operating system, more than 3 GB of system memory, and with a version of Windows that is earlier than Windows Vista SP1, users will see a larger difference in how much memory is reported as available to the operating system compared to how much physical memory is installed. This is because *some physical address space must be reserved as I/O regions for memory mapped peripherals. These I/O regions are allocated between the 3 GB physical address and the 4 GB upper physical address limit.*
> 
> *Physical memory addresses that are mapped to these I/O regions cannot be used to address physical system memory.* These addresses also cannot be used to prevent the operating system from using some physical memory that would ordinarily be accessed between the 3GB physical address and the 4GB upper physical address limit. *The size of these I/O regions varies from system to system because they determine the type and configuration of the system’s peripherals.*


Source : Windows Vista SP1 will report 4 GB of system memory (RAM) on systems that have 4 GB of memory installed (explained better than in the XP article)

Here's a link from HP with a clear graphic explanation :
http://h20331.www2.hp.com/Hpsub/downloads/RAM_Allocation_w-WinXP_HP_MWP_x64.pdf



> *to avoid potential driver compatibility issues, the 32-bit versions of Windows Vista limit the total available memory to 3.12 GB*


Source : The system memory that is reported in the System Information dialog box in Windows Vista is less than you expect if 4 GB of RAM is installed. For XP the reported amount usually varies between 3GB and 3.4GB, maybe even less than 3GB if big video cards are installed (I've read that some intel chipsets allowing 2 video cards in SLI mode could lock as much as 1.5GB of physical memory range to prevent issues when using two 768MB video cards).

Some motherboards have a "memory remap" feature that's supposed to allocate the memory for the hardware devices above the 4GB limit but I don't know how that would work out with XP 32 bit. Could cause more harm than good.


*To check the memory your system really needs* open the task manager (ctrl+alt+del) and go to the performances tab. Watch the peak value under commit charge. The commit charge is the total memory (virtual memory *and* physical memory) used currently by the system, the peak value is the max commit charge ever used by the system since you turned the computer on. If the peak value is less than the physical memory detected by XP (and I see no reason for it to be above 3GB) being able to use the 4GB wouldn't provide better performances. Check the peak value before you turn the computer off and tell us how high it gets.



Playing with the /3GB switch will leave less memory for the kernel. Depending on the application, it can speed up one given app but also slow down others. It's supported on XP Pro but not on XP Home. Read this :


> The 4-gigabyte tuning (4GT) feature, formerly called 4GT RAM Tuning, increases the virtual address space that is available to the application up to 3 GB, and reduces the amount available to the system to between 1 and 2 GB.
> 
> For applications that are memory-intensive, such as database management systems (DBMS), the use of a larger virtual address space can provide considerable performance and scalability benefits. However, the file cache, paged pool, and nonpaged pool are smaller, which can adversely affect applications with heavy networking or I/O. Therefore, you might want to test your application under load, and examine the performance counters to determine whether your application benefits from the larger address space.


Source : http://msdn.microsoft.com/en-gb/library/aa366796(VS.85).aspx

*Practically, even if your application could benefit from more virtual address space, there are 99% of chances that it won't be able to use more than 2GB.* Your audio application is a 32bit app and your sound device uses a 32bit driver, both were designed with the usual 2GB limit in mind. The application would need to use the IMAGE_FILE_LARGE_ADDRESS_AWARE flag in the process header. There are other possible issues mentioned in the MS article among which the fact that the application won't be able to find a contiguous address space of more than 2GB since many system processes are loaded near the 2GB boundary in XP 32bit (if you use sysinternal's process explorer you'll see that 95% of XP's drivers and dll's use addresses between 0x75000000 and 0x80000000, 0x80000000 being the 2GB boundary).


----------



## buckwheatsf (Feb 10, 2009)

I'm posting this in case anyone is using Adobe Premiere CS4 and researching the /3GB switch, as I was.

I'm using Win XP SP3, with 4 GB RAM. It's a dedicated video editor -- the only software running is Premiere CS4 and the OS. I even unplugged the LAN cable -- I'm trying to shut down all other processes, including virus checking.

I opened Task Manager - Performance and watched it while I edited. Total Physical memory is 3.4 GB. 

1. Without the /3GB switch in boot.ini, the Peak Commit Charge was about 1.8 GB. After about 2 hours of editing, I would get a message in Premiere telling me that memory was low and I should save and proceed with caution. FYI, I got that message a lot on my old box with Premiere CS2 and 2GB RAM (under WinXP SP2). Also, after working for awhile, the system slowed, and I heard the hard drive chattering dutring preview playback (the swap file). 

2. With the /3GB switch in boot.ini, the Peak Commit Charge got up to 2.4 GB and I never got that low memory message. I never saw choppy preview playback and did not hear the hard drive chattering. After a few hours, the system started slowing down a little (I think Adobe Premiere CS4, like all prior versions, has memory leaks), but the system remained stable. 

So, my conclusion is, for Adobe Premiere CS4, the /3GB switch works, and you CAN benefit from having more than 2GB of RAM. 

Note about the PAE switch: I didn't specifically turn it OFF in boot.ini. By default, since this machine can do hardware DEP, PAE is on via the /noexecute=optin switch. I didn't monkey with it by turning DEP or PAE off.


----------



## buckwheatsf (Feb 10, 2009)

I want to add today: I'm rendering video right now and writign to an output file on that video PC (mpeg2), and I'm watching Total memory under Commit Charge hovering around 3.2 GB. It peaked at 3.31 GB! I'll take a screen print after it's done -- don't want to touch it during render. 

And I've had no memory problems whatsoever in this session. 

To recap: Premiere CS4, WinXP SP3, /3GB switch in boot.ini, Dual Core Intel CPU, 4 GB of 1066 DDR2 memory.


----------



## JH-man (Mar 2, 2010)

Sorry for resurrecting this thread, but I've been struggling with (this?) issue today.

The laptop that I'm using (a DELL Latitude D630) will be replaced by a HP Compaq 6510b. This "new" system (an old one, and forced upon me, actually  )is equipped with 3GB of RAM, while I personally upgraded the DELL to 4 GB of RAM because I'm doing some VMWare workstation stuff for simulation.

So I decided to take out the 4 GB and put them in the Compaq.

I was in for a nasty surprise, because XP only reports 2,99 GB (in system general properties) or 3.136.748 bytes in help/about and task manager.

Now, I already knew about the reasons why a 32bit XP will never have 4GB available. But still it was a nasty surprise, because the DELL for some reason actually reports 3,6 GB(0,5 GB more available)! This difference was so big, that I just couldn't accept this to be normal actually. Keep in mind that both are simple business laptops, without fancy videochips with lots of memory and the like.

The 4GB is correctly reported in the BIOS. What I also tried already (not sure if it's supposed to make a difference) was to disable ports/adapters/modems/cardreaders/bluetooth/fingerprint sensor both in the BIOS and in XP device manager. This did not in ANY way change the reported memory figures.

Then I checked the boot.ini startup flags. The Compaq only had "/fastdetect", while the DELL had "/noexecute=alwaysoff /nopae /fastdetect". Implementing this also made no difference at all.

The only remaining hypothesis is that the Compaq is at XP SP3, while the DELL is still on SP2. Could it be that some memory usage strategy changed from SP2 to SP3? Another reason why I suspect this, is that when I put the original 1+2GB back in, the reported memory remained _exactly _the same as with 4GB physically installed. Which makes it seem as if it is hardcoded somewhere, instead depending on HW configuration...

This is a frustrating situation, because I already knew that I was going to get a lower resolution and lower brightness screen; now my VMWare performance will be crippled as well. :upset::upset: I don't want this to be true!!! Any idea whether this is NORMAL or whether it is SP3 kicking in or whatever??


----------

