Sign in with
Sign up | Sign in
Your question

Not your typical 4GB on 32bit OS question...

Last response: in Memory
Share
March 4, 2009 10:19:17 PM

I have been searching around quite a few places for answers to two specific questions regarding using 4GB of memory on 32bit XP Home. Unfortunately, all the threads everywhere seem to be, "why don't I see 4GB of memory on my 4GB system?"

My questions:

1: Is there a way to see what is reserving the memory addresses taking me down to the 3GB I see? It seems a little high for me. I have integrated graphics. So, losing 1GB of memory address seems odd.

2: How can I best optimize my system to use 4GB of ram? I don't think I want to use the /3GB switch as it forces 1GB to kernel and 3GB to apps. Without it (at least the way I seem to understand it) windows dynamically shifts usage from apps to kernel. Furthermore, I have XP Home SP3, so I believe PAE is enabled by default. It does show it in System Properties. Is there a way to check that I am actually loading the PAE kernel of windows?

Well I guess that was three questions...

Thanks very much in advance.
March 5, 2009 1:55:56 AM

i am using XP Pro with 4gigs, it sees only 3.5. If you're using integrated graphics, that is gonna use up to another 512mb. Seeing 3gb on your system sounds pretty normal to me. If you're using integrated graphics 3gb should be more than enough for your usage I would imagine.
Related resources
March 5, 2009 2:51:03 PM

Thanks for the replies, guys...

doormatderek, I am absolutely doing fine with 3gb of ram. I am just the type of guy that likes to know everything is optimized as best as can be.


I guess the PAE switch is enabled by default on XP SP2. Should I leave this on? Is there anything else I should do to optimize this?

I have set the page file to be managed by windows. Hopefully that helps a little bit.
March 5, 2009 4:01:16 PM

The PAE switch is used to address more than 4GB, so it doesn't make any difference for you.
March 5, 2009 4:27:27 PM

You can use System Information (Start -> Programs -> Accessories -> System Tools -> System Information) and expand the Hardware section and select Memory for a listing of the devices and addresses assigned to the devices for your system.
March 5, 2009 6:02:31 PM

theAnimal said:
The PAE switch is used to address more than 4GB, so it doesn't make any difference for you.


You also need to address more than 4GB to address 4GB system ram plus memory mapped i/o. But even in pae mode you are limited to 4GB total physical ram because Microsoft chose to implement it like that.
March 5, 2009 8:39:33 PM

mikrev007 said:
You also need to address more than 4GB to address 4GB system ram plus memory mapped i/o. But even in pae mode you are limited to 4GB total physical ram because Microsoft chose to implement it like that.


PAE has nothing to do with memory mapped i/o, only physical RAM.
March 5, 2009 8:45:53 PM

theAnimal said:
PAE has nothing to do with memory mapped i/o, only physical RAM.


Memory mapped i/o resides in the physical address space. That is the reason not all of the 4GB RAM is available. It is also from this fact that MMIO gets its name: it gets mapped into this address space.
March 5, 2009 9:13:56 PM

mikrev007 said:
Memory mapped i/o resides in the physical address space. That is the reason not all of the 4GB RAM is available. It is also from this fact that MMIO gets its name: it gets mapped into this address space.


Yes, and this has nothing to do with the PAE switch. The PAE kernel cannot be used with only 4GB of RAM.
March 5, 2009 11:54:09 PM

And if you have 2g plus of ram ,,you can dispense with the swapfile...:) 
March 6, 2009 2:26:47 AM

dokk2 said:
And if you have 2g plus of ram ,,you can dispense with the swapfile...:) 


Or you could just leave it since it doesn't affect performance.
March 6, 2009 4:30:34 AM

theAnimal said:
Yes, and this has nothing to do with the PAE switch. The PAE kernel cannot be used with only 4GB of RAM.


It has everything to do with PAE. PAE makes it possible to use more than 32 address bits (it makes it possible, nobody says you actually have to use them). MMIO resides in the upper region of the lower 4GB physical address space. When you activate memory remapping (a feature of most modern motherboards), a portion of the lower 4GB system RAM will be moved up above 4G, thus you need PAE to address it.

And of course PAE can be used even with only 1GB RAM. PAE is also used to give you DEP. DEP is default since XP/SP2. So no matter how much RAM you have, PAE is active.
March 7, 2009 3:18:30 PM

mikrev007 said:
It has everything to do with PAE. PAE makes it possible to use more than 32 address bits (it makes it possible, nobody says you actually have to use them). MMIO resides in the upper region of the lower 4GB physical address space. When you activate memory remapping (a feature of most modern motherboards), a portion of the lower 4GB system RAM will be moved up above 4G, thus you need PAE to address it.

And of course PAE can be used even with only 1GB RAM. PAE is also used to give you DEP. DEP is default since XP/SP2. So no matter how much RAM you have, PAE is active.


32bit XP & Vista cannot address anything above 4GB, regardless of PAE. The memory remapping does not mean that you are addressing memory over 4GB, the OS still sees it all below 4GB. The only thing for which PAE is required is DEP.
March 7, 2009 8:08:28 PM

Yes, I wrote that in my first post that PAE in xp/vista doesn't address more, but we were talking in general - you also wrote:

"The PAE switch is used to address more than 4GB, so it doesn't make any difference for you. "

... because in general, PAE can be used to address more than 4GB. And the dispute here was that with 4GB system ram, you would need to address more than 4GB to use it all.
March 8, 2009 5:32:50 AM

mikrev007 said:
Yes, I wrote that in my first post that PAE in xp/vista doesn't address more, but we were talking in general - you also wrote:

"The PAE switch is used to address more than 4GB, so it doesn't make any difference for you. "

... because in general, PAE can be used to address more than 4GB. And the dispute here was that with 4GB system ram, you would need to address more than 4GB to use it all.


On 32bit XP or Vista you will not be able to use all 4GB, with or without PAE. IOW, PAE makes no difference.
March 8, 2009 9:04:43 AM

I responded to your statements like:

"PAE has nothing to do with memory mapped i/o, only physical RAM."

"Yes, and this has nothing to do with the PAE switch. The PAE kernel cannot be used with only 4GB of RAM. "

I wrote in my first post that the PAE kernel in XP/Vista is limited - this is not the question. Do you not like to be told wrong?
March 8, 2009 2:12:18 PM

mikrev007 said:
I responded to your statements like:

"PAE has nothing to do with memory mapped i/o, only physical RAM."

"Yes, and this has nothing to do with the PAE switch. The PAE kernel cannot be used with only 4GB of RAM. "

I wrote in my first post that the PAE kernel in XP/Vista is limited - this is not the question. Do you not like to be told wrong?

I was incorrect about the PAE kernel being used with less than 4GB, but it is only used for DEP.

You said:
Quote:

You also need to address more than 4GB to address 4GB system ram plus memory mapped i/o. But even in pae mode you are limited to 4GB total physical ram because Microsoft chose to implement it like that.

This is incorrect. You cannot address above 4GB in 32bit XP or Vista. The memory mapping is handled by hardware (which can handle 36bit).

You said:
Quote:

It has everything to do with PAE. PAE makes it possible to use more than 32 address bits (it makes it possible, nobody says you actually have to use them). MMIO resides in the upper region of the lower 4GB physical address space. When you activate memory remapping (a feature of most modern motherboards), a portion of the lower 4GB system RAM will be moved up above 4G, thus you need PAE to address it.


And of course PAE can be used even with only 1GB RAM. PAE is also used to give you DEP. DEP is default since XP/SP2. So no matter how much RAM you have, PAE is active.

Other than DEP, this is incorrect. You cannot address above 4GB in 32bit XP or Vista. The memory mapping is handled by hardware (which can handle 36bit).

You said:
Quote:

And the dispute here was that with 4GB system ram, you would need to address more than 4GB to use it all.

There is no dispute. You cannot address more than 4GB and you cannot use it all.
March 8, 2009 2:36:43 PM

Okay, I see we don't get any further here.
March 8, 2009 3:42:12 PM

mikrev007 said:
Okay, I see we don't get any further here.


It would really help your argument if you posted a link that proves that PAE is used for something besides what Microsoft says it is used for (more than 4GB physical RAM, DEP, NUMA & hot add memory).
March 8, 2009 6:15:33 PM

I'm not sure what you think PAE is. PAE extends the CPU's physical address space, just like it is exteded when you switch to 64-bit mode. And as said, MMIO is reached through this address space.

And please, stop with the XP/Vista thing, this is not the discussion.
March 8, 2009 8:10:40 PM

mikrev007 said:
I'm not sure what you think PAE is. PAE extends the CPU's physical address space, just like it is exteded when you switch to 64-bit mode.

Yes, the physical address extension would extend the physical address space on most OS. But not in this case.

Quote:
And as said, MMIO is reached through this address space.

Yes, you keep saying this; that doesn't make it so. MMIO is all below 4GB. Physical RAM can be remapped above 4GB, but not on this OS.

Quote:
And please, stop with the XP/Vista thing, this is not the discussion.

It is completely relevant, as the OP is using 32bit XP.
March 8, 2009 8:47:38 PM

Okay, I'll stop now since you don't get the point.
March 9, 2009 1:44:39 AM

mikrev007 said:
Okay, I'll stop now since you don't get the point.


I don't understand what point you're trying to make.

The OP has 32bit XP, which means that all he will ever see is ~3GB. Neither PAE nor memory remapping will change this.
!