• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Heard XP home only can only utilize 1 GB of Ram, true?

junfan77

Senior member
I have XP home with 2x1GB Dual Channel Ram, a good friend of mine is saying XP Home doesn't utilize more than 1 GB, I can't find anything to support his claim but I do vaguely remember hearing something about this, but I think it might have been about Win 98.

Any help is appreciated.

Thx
 
You friend is an idiot. XP itself will not use more than 3GB of RAM. After 3GB, there's a switch to enable 3GB+.
 
You friend is an idiot. XP itself will not use more than 3GB of RAM. After 3GB, there's a switch to enable 3GB+.

If you're goint to call people names you should at least make sure you know what you're talking about, the /3G switch has absolutely nothing to do with physical memory limitations.

XP Pro is limited to 4G physical memory just because MS wants you to pay for Server to use more, I believe XP Home is he same but I can't find any numbers on MS' site because it's ass.
 
Originally posted by: NokiaDude
You friend is an idiot. XP itself will not use more than 3GB of RAM. After 3GB, there's a switch to enable 3GB+.

It's 4 gig, and you obviously don't understand what the switch does and why 3gb is a magic number 😉
 
It should be able to use 4GB.

You friend may have meant that it doesn't really use any more than 1GB (unless your doing heaps of multitasking or really heavy applications).

RoD
 
You friend may have meant that it doesn't really use any more than 1GB (unless your doing heaps of multitasking or really heavy applications).

Sure it'll use it, any 'extra' memory will always be used as filesystem cache.
 
I think your friend is referring to the 1GB sweet spot for XP. XP supports more than 1GB of memory but many benchmarks have shown it doesn't utilize it efficently enough to make it worthwhile to purchase more than 1GB. I would stick with 1GB of memory unless there are extraordinary circumstances.
 
Until you begin using a video editor or some serious Photoshop LOL. The 4GB limitation is a 32bit address problem that Intel got around with PAE but why would a consumer OS need such much ram (over 4GB). If you need more (and can afford more the 4GB of ram than surely you can afford a Server OS (Microsoft accountant drooling on corner thought that one up)

Trust me, there are programs that can make quick use of that 2GB of ram even in Windows. Normal usage of Windows however, really doesn't need more than 1GB
 
The discussion isn't even about physical memory, it's about virtual memory. NT has been able to address up to 64G physical memory with PAE for a long time, but even on a 64G system each process is still limited to 2G of VM unless they use AWE hacks.
 
Originally posted by: Nothinman
The discussion isn't even about physical memory, it's about virtual memory. NT has been able to address up to 64G physical memory with PAE for a long time, but even on a 64G system each process is still limited to 2G of VM unless they use AWE hacks.

Each process has 4 gig of VM, upto 3gig is available to the user mode components (ring 3). By default each process has 2gig set aside for the kernel, and 2gig for user mode. This can be adjusted to 1gig, 3gig...

Bill
 
Originally posted by: bsobel
Originally posted by: NokiaDude
You friend is an idiot. XP itself will not use more than 3GB of RAM. After 3GB, there's a switch to enable 3GB+.

It's 4 gig, and you obviously don't understand what the switch does and why 3gb is a magic number 😉


OK. I'm a curious guy. What does the switch do and why is 3GB a magic number.

And as for limits, why must physical addresses still point to bytes? Does the CPU ever retrieve a 'byte' from memory? Is converting a character pointer in software to a n-byte pointer on the hardware really more complex than deciding if that data is in cache or RAM and shifitng it all around. Data movement in a computer already looks more like a packet network than a store-and-fetch machine. I guess now with 64-bit addresses, having n-times as much adress space is not very important, but thats the way we felt when we switched to 32 bits. How much longer will hardware continue to name every single byte in the memeory? And I had to walk five miles to school uphill both ways in chest-deep snow every day....

 
Originally posted by: bsobel
Originally posted by: Nothinman
The discussion isn't even about physical memory, it's about virtual memory. NT has been able to address up to 64G physical memory with PAE for a long time, but even on a 64G system each process is still limited to 2G of VM unless they use AWE hacks.

Each process has 4 gig of VM, upto 3gig is available to the user mode components (ring 3). By default each process has 2gig set aside for the kernel, and 2gig for user mode. This can be adjusted to 1gig, 3gig...

Bill

This is correct. By default the 4GB physical limit is divided into 2GB/process and 2GB for the kernel. The /PAE switch can enable 3GB/process. Also consider this is a per process limit. Just because you're using more than 2GB doesn't mean a single process is using that much RAM.

In a home environment this really shouldn't be an issue except in .1% of the cases where someone's doing heavy encoding or something that would actually us more than 2GB in a single process.

Also, I noticed you said "XP home" instead of "XP", there is no difference in RAM usage between "home" and "pro" if that's what your friend was implying. They both have the same limits being discussed here. Home is not less capable in this area, it has less "add-on" type features, nothing fundamentally different about the cores.

edit: Read Me.
 
Each process has 4 gig of VM, upto 3gig is available to the user mode components (ring 3). By default each process has 2gig set aside for the kernel, and 2gig for user mode. This can be adjusted to 1gig, 3gig...

I know, I didn't feel like explaining it though.

And as for limits, why must physical addresses still point to bytes? Does the CPU ever retrieve a 'byte' from memory?

No, a PTE points to a page which is 4K on 32-bit systems (or 4M if large pages are used). That's why moving data around is usually called paging.

 
And as for limits, why must physical addresses still point to bytes?

As long as we use an x86 architecture? Deviating from this would require an extra layer of redirection for any legacy programs.

Does the CPU ever retrieve a 'byte' from memory?

Actually, memory interfaces these days are almost always much wider (DDR SDRAM is almost always accessed in 64-byte chunks), but yes, programs frequently create and access one-byte variables and one-byte pieces of larger data structures. As noted above, the OS works in terms of much larger units when managing virtual memory.

Is converting a character pointer in software to a n-byte pointer on the hardware really more complex than deciding if that data is in cache or RAM and shifitng it all around. Data movement in a computer already looks more like a packet network than a store-and-fetch machine.

I suppose you could switch to, say, 40-bit addresses, and split it into a 32-bit address (where you are addressing 256-byte blocks of memory) and an 8-bit byte offset within that block. But then you couldn't fit a pointer into a single register. Managing that would be a nightmare in terms of an x86 CPU core and instruction set.

I guess now with 64-bit addresses, having n-times as much adress space is not very important, but thats the way we felt when we switched to 32 bits. How much longer will hardware continue to name every single byte in the memeory? And I had to walk five miles to school uphill both ways in chest-deep snow every day....

...with no shoes. 😛

Memory ultimately has to be addressable at least down to the granularity of a CPU's registers. It is more convenient in terms of writing programs to have byte-addressable memory pointers, and this way you don't have to change your programs, compilers, and memory access schemes for architectures with differing register sizes.
 
Actually, memory interfaces these days are almost always much wider (DDR SDRAM is almost always accessed in 64-byte chunks), but yes, programs frequently create and access one-byte variables and one-byte pieces of larger data structures. As noted above, the OS works in terms of much larger units when managing virtual memory.

If I'm not mistaken even if you only ask for a single byte the OS and CPU still grab a full page, in fact most architectures complain wildly and fail the read (i.e. unaligned trap messages on Alpha) and make the OS catch the exception and read a properly aligned memory page.

 
Originally posted by: Nothinman
Actually, memory interfaces these days are almost always much wider (DDR SDRAM is almost always accessed in 64-byte chunks), but yes, programs frequently create and access one-byte variables and one-byte pieces of larger data structures. As noted above, the OS works in terms of much larger units when managing virtual memory.

If I'm not mistaken even if you only ask for a single byte the OS and CPU still grab a full page, in fact most architectures complain wildly and fail the read (i.e. unaligned trap messages on Alpha) and make the OS catch the exception and read a properly aligned memory page.

At the OS/VM level, yes, I believe that is more or less accurate. If you organize your memory in pages, then a page has to be in memory for it to be read. But once the page is in RAM, the program can deal with it at a single-byte level.

I was talking about the physical CPU->RAM interaction level. There's no way for your CPU to actually read "one byte" of data from RAM in most modern PC architectures. 😛
 
Originally posted by: NokiaDude
You friend is an idiot. XP itself will not use more than 3GB of RAM. After 3GB, there's a switch to enable 3GB+.

heh

I figured this post might be a bit painful to you. IMHO the guys here let you off pretty easy.
 
Back
Top