I am learning about memory in the context of Windows 2003/2008 servers and was hoping for some confirmation on my understanding and further questions I had.
I've been reading up heavily on the various sites, esp http://support.microsoft.com/kb/2267427
, butI do know it's easy to misunderstand, hence my question.
So - here are my points, would be grateful if people could correct me if I am mistaken:
1. Applications always reference virtual memory addresses when using memory. It is the hardware that translates this to the real addresses used by physical memory (RAM)
2. A 32bit application will always reference a maximum of 4GB virtual memory addresses
3. Within the default Windows x32 architecture, I'm still not sure what is defined as a "private use of a process" as opposed to shared (as per excerpt below):
"In the default Windows configuration, 2 GB of this virtual address space is designated for private use of every process, and the other 2 GB is shared between all processes and the operating system"
4. The link states that "Physical Address Extension (PAE) is a feature of the Intel 32-bit architecture that expands the physical memory (RAM) address to 36 bits. (For more information, see Microsoft Knowledge Base article 268363, Intel Physical Addressing Extensions (PAE) in Windows 2000 (http://support.microsoft.com/default.aspx?scid=kb;en-us;268363
) ). PAE does not change the size of the virtual address space, which remains at 4 GB. It changes only the actual RAM that can be addressed by the processor". I see that a Windows 2003 Enterprise server can support 32GB RAM (presumably with the PAE switch), but not sure how this works if the virtual address space will always remain at 4GB?
5. The link then says that "RAM is a limited resource, whereas virtual memory is, for most practical purposes, unlimited.". But I thought it previously said yhat the virtual address space was limited to 4GB??
6. If I wanted to measure how much memory was *needed* by an application (as opposed to used), would Memory, Commited Bytes be a good counter to use?
Any help appreciated!