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

junfan77

Senior member
Sep 1, 2000
319
0
0
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
 

NokiaDude

Diamond Member
Oct 13, 2002
3,966
0
0
You friend is an idiot. XP itself will not use more than 3GB of RAM. After 3GB, there's a switch to enable 3GB+.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
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.
 

kobymu

Senior member
Mar 21, 2005
576
0
0
the differences between home and professional are in the add ons. ie the kernel is exactly the same.
 

bsobel

Moderator Emeritus<br>Elite Member
Dec 9, 2001
13,346
0
0
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 ;)
 

imported_rod

Golden Member
Apr 13, 2005
1,788
0
0
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
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
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.
 

Rapidskies

Golden Member
May 27, 2003
1,165
0
0
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.
 

imported_michaelpatrick33

Platinum Member
Jun 19, 2004
2,364
0
0
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
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
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.
 

bsobel

Moderator Emeritus<br>Elite Member
Dec 9, 2001
13,346
0
0
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
 

Nanobaud

Member
Dec 9, 2004
144
0
0
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....

 

Phoenix86

Lifer
May 21, 2003
14,644
10
81
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.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
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.

 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
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. :p

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.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
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.

 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
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. :p
 

Smilin

Diamond Member
Mar 4, 2002
7,357
0
0
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.