VMware Cloud Community
beckhamk
Enthusiast
Enthusiast

64bit OS memory and running apps in 32bit mode

I hope this question makes sense. lol

In standard 32bit mode windows standard will only see 4gb and at most 3gb of memory for apps when using the /3gb switch.

So if we run a 64bit windows standard with 8gb of memory and run apps in 32bit mode will each application running in 32bit mode be able to get 2gb of memroy each. IE:say 3 - 32bit apps each using 2gb for a total of 6gb with 2gb left for the os. Meaning that each 32bit gets its max 32bit memory space? or do ALL 32bit apps have to share the same 32bit memory space and all 3 apps have to share the same 2gb memory space because of 32bit limitations?

0 Kudos
6 Replies
RParker
Immortal
Immortal

on standard 32bit mode windows standard will only see 4gb and at most 3gb of memory for apps when using the /3gb switch.

Not true. Windows Standard limits this memory by design. ALL Windows Versions are exactly the same. There are only built in restrictions in the registry and DLL that LIMIT their ability to USE more RAM. Windows Standard is limited to 4Gb of RAM regardless if it's 32-bit or 64-bt.

Windows Enterprise 32-bit can see 32 Gb of RAM just fine, so it makes no difference if it has the /3gb switch or not. I can setup a 4Gb VM (4096 RAM not 4000 RAM) and I can see ALL the RAM, some other people can't see it, it's due the chipset and other factors, but it's NOT a Windows issue.

So 64-bit OS does a better job than 32-bit, but the memory space has no bearing if it's 32-bit or 64-bit I have setup both, and both work fine. I don't ever use the /3Gb switch. I think you mean the /PAE switch.

On 32-bit versions of Windows, the /3GB parameter enables 4 GT RAM Tuning,

a feature that enlarges the user-mode virtual address space to 3 GB and

restricts the kernel-mode components to the remaining 1 GB.

he /pae parameter enables Physical Address Extension (PAE). This

parameter directs the system to load the PAE version of the Windows

kernel.

PAE is an addressing strategy that uses a page-translation hierarchy to

enable systems with 32-bit addressing to address more than 4 GB of

physical memory. PAE also supports several advanced system and

processor features, such as Data Execution Prevention (DEP; "No

execute"), Non-Uniform Memory Architecture (NUMA), and hot-add memory,

so it is also used on computers with less than 4 GB of memory. PAE must

be supported by the processor and by the operating system.

Windows Server 2003 (and SP1), Standard Edition 4 GB of physical RAM*

Total physical address space is limited to 4 GB on these versions of

Windows. When 4 GB of memory is installed and PAE is enabled, the

amount of available memory could be less than what you would expect.

For more information about memory usage, see article Q888137, ["The

amount of RAM reported by the System Properties dialog box and the

System Information tool is less than you expect after you install

Windows XP Service Pack 2"|http://go.microsoft.com/fwlink/?LinkId=3100&ID=888137] in the Microsoft Knowledge Base.

0 Kudos
beckhamk
Enthusiast
Enthusiast

I think my comment about /3gb got the thread scewed a little. I want to know if i install windows 64bit os - vm or physical (doenst matter) with say 8gb of ram. and i run two seperate apps in 32bit compatibility on the 64bit os, are those two 32bit apps restricted to sharing the same 4gb of memory or will each one be allowed to use up to 4gb each.

Does that make sense?

0 Kudos
kjb007
Immortal
Immortal

That is not completely correct, there are differences in memory limits supported between 32-bit and 64-bit. A 32-bit processor is incapable of seeing memory greater than 4 GB. Using /PAE allows the use of a 36-bit memory management scheme to allow for greater memory to be forced into a 32-bit framework, but that itself has its limits. Windows 64-bit does not suffer from the same limitation, and Windows standard 64-bit will allow 16-32 GB of ram depending on which version is used (SP1/R2/Non-SP1). The table below states the supported memory limits.

Also, using the /3GB switch, as RParker states, allows 1 GB for the kernel to manage itself, as well as the pages of memory, and allows 3 GB of memory for user-based applications. This will equate to virtual memory that an application will have access to. So, if you have 8 GB in the system, 1 GB will be for kernel, and the 3 GB for applications, and an additional 4 GB of memory if your application can see the higher address memory. The /PAE switch is required in 32-bit windows to see memory above 4 GB, but is not needed in 64-bit windows. The /3GB can still be used without /PAE on 64-bit windows. Now, if you want to give your application access to 3 GB of virtual memory, then you need to use the /3GB switch, else you will allow 2 GB of virtual memory. You can use the /4GT tuning if you want to give the kernel a customized amount of memory above 1 GB, but less than 2 GB.

-KjB

Version

Limit in 32-bit Windows

Limit in 64-bit Windows

Windows Server 2003 Service Pack 2 (SP2), Datacenter Edition

128 GB

64 GB with 4GT

2 TB

Windows Server 2003 Service Pack 2 (SP2), Enterprise Edition

64 GB

2 TB

Windows Storage Server 2003, Enterprise Edition

8 GB

Not applicable

Windows Storage Server 2003

4 GB

Not applicable

Windows Server 2003 R2 Datacenter Edition

Windows Server 2003 with Service Pack 1 (SP1), Datacenter Edition

128 GB

16 GB with 4GT

1 TB

Windows Server 2003 R2 Enterprise Edition

Windows Server 2003 with Service Pack 1 (SP1), Enterprise Edition

64 GB

16 GB with 4GT

1 TB

Windows Server 2003 R2 Standard Edition

Windows Server 2003, Standard Edition SP1

4 GB

32 GB

Windows Server 2003, Datacenter Edition

128 GB

16 GB with 4GT

512 GB

Windows Server 2003, Enterprise Edition

32 GB

16 GB with 4GT

64 GB

Windows Server 2003, Standard Edition

4 GB

16 GB

Windows Server 2003, Web Edition

2 GB

Not applicable

Windows Small Business Server 2003

4 GB

Not applicable

Windows Compute Cluster Server 2003

Not applicable

32 GB

vExpert/VCP/VCAP vmwise.com / @vmwise -KjB
0 Kudos
RParker
Immortal
Immortal

Windows Server 2003 R2 Standard Edition

Windows Server 2003, Standard Edition SP1

4 GB

32 GB

I would like to point out that this line is incorrect. I know it's on the web page, but it's complely wrong.

Windows 2003 Standard R2, SP1, SP2, or base is limited to 4Gb of RAM 32-bit or 64-bit. Windows Standard is ONLY capable of 4Gb of RAM, period. Doesn't matter what flavor it is.. STANDARD cannot go beyond the 4Gb boundary.

So the 32- GB limitation of 64-bit is FALSE. 100% inaccurate.

Windows standard 64-bit will allow 16-32 GB of ram depending on which version is used (SP1/R2/Non-SP1). The table below states the supported memory limits.

So this statement isn't correct, 64-bt Windows 2003 STANDARD will ONLY support 4GB of RAM.

0 Kudos
kjb007
Immortal
Immortal

I have two servers with Windows 2003 Standard 64-bit that have 16 GB of ram installed and visible.

-KjB

vExpert/VCP/VCAP vmwise.com / @vmwise -KjB
0 Kudos
hicksj
Virtuoso
Virtuoso

100% inaccurate.

Windows 2003 Standard 64-bit supports >4GB of memory.

However, for 32-bit processes, they are allowed the standared 2GB user-mode memory, unless compiled with LARGE_ADDRESS - which IS capped at 4GB. For 64-bit processes, if compiled properly, support up to 8TB.

The Standard-edition OS is not capped at 4GB, the 32-bit processes are.

I'm sure there are plenty of folks out there that have better things to do, but would be willing to provide screenshots and performance stats. Care to provide references for your "100% inaccurate" comment?

0 Kudos