0

I have some conceptions I will lay out first. A 32-bit Windows application can't address more than ~3 GB of memory if I got it right. However, when it runs out of memory in its virtual address space, it will hand over data to the Windows virtual memory manager in order to make more space for whatever it needs. Windows' virtual memory manager will then write this data to a location that is in physical RAM, but outside the application's virtual address space. When the 32-bit application needs this data again, the virtual memory manager can respond swiftly by loading it from physical RAM.

I can imagine there is overhead to this. How much overhead are we talking about? A 64-bit application would be able to make a virtual address space that is large enough for everything it needs, but how much more efficient is this than shuffling around data with the memory manager?

Magnus
  • 589
  • 8
  • 26
  • 3
    `is in physical RAM, but outside the application's virtual address space.` this is incorrect, it won't be outside app's address space – Renat May 16 '19 at 22:07
  • Just to be clear, I'm talking about the data that the 32-bit application needs to discard in its current virtual memory address space in order to make space for the new data. Are you still saying this will be written in a location still *within* the 32-bit application's address space? – Magnus May 16 '19 at 22:12
  • 4
    The post's description off virtual memory is largely incorrect. – user3344003 May 16 '19 at 22:43
  • 1
    Your understanding of how virtual memory works is mostly incorrect. You need to research that portion more thoroughly, and you may answer your own question. Start with the fifth and seventh posts in the **Related** list to the right of this post. Also see the many existing posts here about the advantages/disadvantages of 32/64 applications. – Ken White May 16 '19 at 22:52

0 Answers0