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?
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.
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?
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 |
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.
I have two servers with Windows 2003 Standard 64-bit that have 16 GB of ram installed and visible.
-KjB
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?