Hello, Recently purchased a server for running an application, it has 12gb of ram. I know about the whole use 64bit on more than 4gb's of ram, however according to windows the server was setup with a 32 bit os. Thats what I see in system info. In taskmanager I see this: My question is this, is all 12gb available - it appears to be able to see and use all 12gb's but I was under the impression that 32bit could only see 4gb
Erm, I would initially say that its impossible, as the 32bit architecture physically limits the amount of RAM addressable. But, I seem to remember reading somewhere, that the Server versions have some sort of advanced memory addressing thing which allows them to access more memory. I don't know how it works, or whether its actually true. Someone who uses Windows Server may be able to shed some light on it. It does seem silly though,
Guess I should of spent a bit longer searching google first This is what I found: http://msdn.microsoft.com/en-us/lib...px#physical_memory_limits_windows_server_2008 Turns out it uses something called PAE so it has a limit of 64gb, by adding 4 bits and making it 36bit so allowing this increase, see this article for more. Now got to decide whether reinstalling everything is worth the hassle of the 1-10% performance drop
You need 64-bit Windows (well any 64-bit OS), to use 4GB and up of memory. Call the company and ask for the 64-bit Windows 7, If your system was custom build.. than I have one word.. OUCH! What happens in your case, is that you can make an OS force to accept more memory, but what it really happens is that their is a lot of tricking that occurs on your system, as the CPU can't handle more than 4GB of RAM (CPU limitation of the 32-bit architecture), so you have a performance degradation. How much? when does it occur? No idea.
Sounds like an excuse to charge you more for enterprise versus a standard edition x64. If that is the only feature of Enterprise you need, I'd have a chat with the vendor. @Goodbytes, fhe CPU can access it fine, it's the OS that can't deal with it natively. But it's not as simple as that anyway. Win 2000 could access more than 4Gb, the issue is whether or not it is accessed contiguously. A number of our SQL Servers have 32Gb ram and run multiple instances on 32 bit enterprise clusters (not my choice though)
the move to 64bit will gain you more performance than you think as running PAE increases the over head needed to run the OS and also 64bit with 64bit software is quite often upto 30% faster
There is no windows 2007 - you're either on Server 2003 or Server 2008 32bit Windows Server can run with 12gb of memory, using PAE as is mentioned briefly by one poster above. However, as mentioned by other posters above, 64bit native is much more efficient for this, as it doesn't require the remapping techniques employed by PAE.
It's paging the RAM in 4gb chunks this hurts performance a bit but does allow a 32bit system to use all the available RAM. I'd still switch to 64bit though.
That's a key factor. If it's 32 bit apps running, the overhead for WOW will counteract any gain going to the 64 bit OS as each app will be limited to it's own 4Gb block anyway (in many cases actually only 2Gb)
About overhead... all Windows editions runs in PAE mode by default (DEP). In 64bit mode you have the same overhead plus a bit more: 4 layered page table model over 3 layered in PAE mode.
Here some more on windows versions and memory limitations, as can be seen your edition Windows Server Enterprise, can handle what you throwing at it.
Physical memory above and under 4GB is accessed the same way in both 32bit and 64bit OSes. 64bit applications just have a much larger virtual address space, which is useful if you are running very memory-demanding applications.
Thanks for all the information everyone, I made the changeover yesterday. It happened that I have not seen any noticeable difference in the application other than the fact that I am now able to allow it to use more ram. Thanks Thanks for these, but I did already post these above
My post was about how memory is accessed... non-PAE vs PAE vs 64bit/long mode. Why VB6 might run slower on 64bit Windows is due to other factors.
actually the wiki is wrong in some ways.. the idea of pae goes way back- I remember on the atari 800xl 8-bit computer it could only address 64k when the 130xe model came out with 128k.. you banked the extra 64k into 4 sections- you would set 2 bits in the register to address which 16k section you'd want to 'swap' into main memory.. it was pretty fun programming on that rig
But PAE is not an "idea", it is an actual implementation of an addressing mode i x86. It is also not about "bank switching". The entire physical address space can be addressed. You don't "switch" to make one area active.