Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chriss Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Windows 4GB limit 1

Status
Not open for further replies.

humbletech99

Programmer
Nov 22, 2005
155
GB
I've been going round and round on the web trying to find out about the 4GB limit on Windows, but I'm not 100% having seen some arguments about what it means and if/how to get around it.

I have an XP Pro workstation with 4GB ram in it, of which it can see around 3.5GB. I'd like to squeeze out the remaining half a gig since I'm running Virtual PCs on this box.

I also have some 2003 Servers that may need more than 4GB of ram (Opterons running 32-bit 2003 Server).


1. Does the /PAE boot switch only work on Intel processors or AMD as well?
2. Does the /PAE boot switch work on XP Pro or just on Windows Servers?
3. Does the /PAE switch allow you to use more than 4GB physical ram on a 32-bit OS?
4. Can regular apps use more than the 4GB of ram if /PAE is used? (eg. Virtual PC, Vfox etc)
 
The missing .5 GB of RAM may be allocated to your video card if it does not have dedicated memory. Server 2003 supports different max values of RAM depending on what edition you are running. Standard Edition supports up to 4GB and Enterprise supports 64 GB for x86 processors. Regarding the /PAE switch, Microsoft states that all versions of XP and Server 2003 Standard edition are limited at 4 GB.

Physical Address Extension - PAE Memory and Windows

Joey
A+, Network+, MCP
 
I know it's a limitation of 32-bit memory addressing and I've also confirmed now that it is just microsucks nit letting Xp and 2003 Standard use more than 4GB Ram.

how lame.
 
What about the 64-bit versions of Windows XP/Vista/...?

1. Can you run them on one of those "32/64 bit" processors and if so, are there any advantages to the 64-bit OSes other than more memory addressability?
2. Is the memory limit of 64-bit Windows == 2^64 bytes or is it capped at different sizes depending on how much you pay them for the OS?
 
know it's a limitation of 32-bit memory addressing and I've also confirmed now that it is just microsucks nit letting Xp and 2003 Standard use more than 4GB Ram.

how lame.
1.) 2 to the power of 32 = 4294967296 bytes
4294967296/1024 = 4194304 kbytes
4194304/1024 = 4096 mbytes
4096/1024 = 4gbytes
how is this a Microsoft problem? even 32bit Linux or MacOS can't adress more than that...

2.) the only option you have is to invest in a 64bit Processor and OS if you want to use more than 4gb...

1. Can you run them on one of those "32/64 bit" processors and if so, are there any advantages to the 64-bit OSes other than more memory addressability?
AFAIK, YES... The real advantages come with the MEMORY, as you can run more apps, ie. CAD progs and DataBases, where more memory is an advantage, as well as speed in calculations, if you are into simulation software or such...

2. Is the memory limit of 64-bit Windows == 2^64 bytes or is it capped at different sizes depending on how much you pay them for the OS?
Theoretical YES... there is no MotherBoard out there in the wild that can handle that amount of RAM at present...





Ben

"If it works don't fix it! If it doesn't use a sledgehammer..."
 
Of course it's not architecturally Microsoft's fault, the maths is straight forward, but enterprise/datacenter servers OSs can side step it buy using 2 extra bits and can handle up to 64GB or ram in 32-bit OSs.

M$ just didn't give this feature to XP and 2003 Server standard cos they want more money for it basically.

Yes it looks like 64-bit is going to come sooner if we keep getting too greedy with ram...
 
Darn, I remember the days where I was working on an C3-DATA SYSTEM (School Computer) and the first home-computer I got had more oomph than that, with a whopping whole 32 kilobytes... now 25yrs later, the average home user can't do without 1GB of ram, and the businesses with 8gb or more...


Ben

"If it works don't fix it! If it doesn't use a sledgehammer..."
 
Actually, this 4GB limitation IS a microsoft imposed limitation. In this thread there is a post describing the RAM capabilities of some of Microsoft's products, including their Server line. The enterprise version of their Server can run up to 64 GB maximum for x86-based computers. Thus you can see that there is no hardware limitation to RAM... it is just another LIE being proliferated by Microsoft and the IT community!
 
With 32-bit addresses, you can reference 4 billion individual bytes of memory. My guess as to how the expensive server versions get around that is to reference larger chunks of memory instead of single bytes. eg. if you use address 0x00000001 to point to the first byte of memory (and return 4 bytes), then address 0x00000002 to point to the 5th byte of memory... You can use 16GB of memory instead of 4, but if you want an individual byte, you always get 4 bytes and you need to separate them yourself to get the byte you want.
 
actually I don't think that is correct.

IIRC the way the enterprise versions use up to 64GB or ram even on 32-bit architectures is to do with the way it logically swaps out the 4Gb active and then addresses another 4GB.

So technically you still can't use more than 4GB at the same time, but you can use more than 4GB overall if you change the 4GB section you are addressing at a given moment.

The limitation is NOT M$ imposed, it's hardware architecture, but M$ has a workaround as mentioned above, they have just restricted it to the enterprise and datacenter server editions, which is still a bit gitty really.
 
I believe ghowriter was being a bit sarcastic, or I'm being generous and handing out a lot of reasonable doubt!

It is obvious that the OS has nothing to do with the 4GB limitation. Due to a slight lack of stability and limited application support, Mi¢ro$oft only bothered to include the feature in its product line that was targeted at "IT Professionals" that would need it. Besides, they new that the 64-bit version of XP would be developed and wouldn't need the PAE extensions built-in.

To accuse them of gutting more money out of the system for an unreliable feature (PAE) is ridiculous...they'd rather gut it in other ways!
[wink]

~cdogg
"Insanity: doing the same thing over and over again and expecting different results." - Albert Einstein
[tab][navy]For general rules and guidelines to get better answers, click here:[/navy] faq219-2884
 
I like the 4gb swap feature mentioned here. That must be how MS resolved the issue on their server platforms, but it still doesn't negate the fact that the same could bo done to any 32 bit OS but hasn't. This includes MS's new flagship, Vista... As for running x64 to get past the 4gb limit, I am already on XP x64 without a single driver issue, but a lot of software doesn't run right on x64's WOW interpreter. Also, there are no apps compiled for x64 that I use. But at least I have access to all my RAM (4 gig, soon to be 8) which makes up for the limitation.

Note: Since MS and other server platforms created a way around the technical 4 gig limit, there is no limit except that imposed by the OS. This is what I was pointing out. If I sound sarcastic, it may be the result of years of frustration having to deal with uneducated people claiming to be computer experts when the most advanced computer they can safely operate is a child's Pull-n_Speak!
 
ghowriter, I sympathize with your frusttration, I am also tired of less than intelligent people thinking they belong in computers when they have no science/maths brain.

In fairness and as a die-hard unix admin I have say this is mainly in the wintendo and non-programmer community. Therefore the best benchmarks are usually programming, unix and security, because many people try them and nearly all fail, leaving only the best.

Yes I see how you mean it is an M$ imposed limitation by indirect means of them making a workaround for the server platforms but neglecting the rest.

Could you please clarify "there are no apps compiled for x64 that I use"?

Does this mean that you don't use any 64-bit apps? Then why bother running an operating system? What purpose does it serve? I don't quite understand what you are trying to say, and how more ram does you any good if you have no apps. Is this a typo or wording mix-up?
 
humbletech99 said:
the way the enterprise versions use up to 64GB or ram even on 32-bit architectures is to do with the way it logically swaps out the 4Gb active and then addresses another 4GB.
Wait a second... Didn't you just describe Virtual Memory?
I'm not sure if there is a 4GB limit on Virtual Memory for non-server Windows, but that's exactly the way all Windows OSes run when you need more memory than you actually have.
 
ghowriter,
I believe I've been misunderstood here. PAE was developed by Intel first of all, not Microsoft. Until the Pentium Pro came out with the built-in extension, no commercially available 32-bit processor could access more than 4GB of RAM. With that said, it's hard to argue that it's not a hardware limitation. It is the integration of support in the CPU and chipset that allows any operating system (not just Windows) to use more than 4GB of memory.

Even more ridiculous is the fact that you would make an argument based on "assumptions" instead of doing a little research. Besides opinion, I don't see that you've made any real contribution to this thread.


humbletech said:
Of course it's not architecturally Microsoft's fault, the maths is straight forward, but enterprise/datacenter servers OSs can side step it buy using 2 extra bits...

Actually, it's 4 extra bits - PAE uses 36. So speaking of intelligence, the tone you're setting is that Microsoft came up with some workaround, when in fact they simply implemented the PAE extension that was developed by Intel years earlier.


Perhaps both of you should review the information at this link (and yes, it's different than the one Illogically Logical posted):

This part justifies the decision to leave support out of end-user operating systems:

Typically, device drivers must be modified in a number of small ways. Although the actual code changes may be small, they can be difficult. This is because 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...

...PAE mode can be enabled on Windows XP SP2, Windows Server 2003 SP1 and later versions of Windows to support hardware-enforced DEP. However, many device drivers designed for these systems may not have been tested on system configurations with PAE enabled. In order to limit the impact to device driver compatibility, changes to the hardware abstraction layer (HAL) were made to Windows XP SP2 and Windows Server 2003 SP1 Standard Edition to limit physical address space to 4 GB...

Page Size
Almost all operating systems supporting PAE use differing page sizes when providing physical memory beyond 4 GB to an application. The primary exception is Windows, which presents to applications only 4 KB pages on IA-32 platforms (this is different on Itanium-based platform).

The issue with using varying page sizes for applications is related to additional application complexity required to function correctly with differing memory allocation sizes, as well as subtle effects related to the underlying assumptions that almost all applications have with page size. Although research shows a small class of applications can benefit from larger page sizes (2 MB or 4 MB), because each TLB entry spans a greater address range, the general rule is applications don't benefit from larger page sizes.


This should add to the fun we're all having so far! [pipe]

~cdogg
"Insanity: doing the same thing over and over again and expecting different results." - Albert Einstein
[tab][navy]For general rules and guidelines to get better answers, click here:[/navy] faq219-2884
 
Oh, and I want to stress this quote again from Microsoft:

"[navy]In order to limit the impact to device driver compatibility, changes to the hardware abstraction layer (HAL) were made to Windows XP SP2 and Windows Server 2003 SP1 Standard Edition to limit physical address space to 4 GB[/navy]"

Now that sounds more intelligent to me and has more substance than:

ghowriter said:
it is just another LIE being proliferated by Microsoft and the IT community!


The mic is yours, fella...

~cdogg
"Insanity: doing the same thing over and over again and expecting different results." - Albert Einstein
[tab][navy]For general rules and guidelines to get better answers, click here:[/navy] faq219-2884
 
ok valid points cdogg, I did read the number of bits from the microsoft website for pae,. dunno why I said 2 instead of 4 extra bits, I should have realized the maths was wrong from 4 to 64GB...

both of you are right in your own ways.

it is generically a hardware based limitation.

there is an extension workaround.

Microsoft has denied this workaround to XP & 2003 Standard, but as cdogg points out for very good reason.

So it is partially a Microsoft imposed limitation based on a __original__ hardware based limitation and driver compatibility limitation in trying to work around it using a newer extension.

therefore saying it is a hardware limitation is true, and in a sense saying it is a microsoft limitation is also true depending on how you look at it.

Are we all right so far?

It that it?
 
Hey just because they give a reason, it doesn't mean it's true. /wink

Carlsberg don't run I.T. departments, but if they did they'd probably be more fun.
 
Could always run MS HPC....

Only the truly stupid believe they know everything.
Stu.. 2004
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top