32-bit Applications and a total of 10 GB of RAM

NExUS1g

Gawd
Joined
Aug 15, 2004
Messages
554
I have 4 GB of RAM on my video cards and 6 GB of primary RAM. So when I run a 32-bit application (which to my understanding is limited to using 4 GB of RAM), what happens?
 
The RAM in your video card is meaningless, it doesn't have any affect on the system RAM (aside from some of it being mapped to system memory - it's a PCI-Express thing - but, that won't "steal" any).

With 6GB of system RAM, 32 bit Windows is only going to "see" about 3.25GB of it - there's actually a way to make use of all of it with some RAMdisk software from SuperSpeed that can make use of any RAM above the 32 bit limitation and use it as a RAMdisk for storage, increased system performance, etc.

I don't understand why you'd have 4GB of video memory (obviously some fairly monster video cards) and 6GB of system RAM (fairly monster system I think) and you're even messing with 32 bit versions of Windows. It makes no sense... and I'll bet I'm not alone.

Is there a rational reason for that choice, because as soon as you offer one I and someone else or two will probably give you proof that you can get around it, use a 64 bit version of Windows, and use virtual machine software to do everything 32 bit you'd ever want or need to accomplish...
 
I'm talking about 32-bit applications, not OS's. I am running Windows 7 64-bit, but most applications are still 32-bit.
 
Actually, what the OP is referring to is running 32-bit applications in a 64-bit version of Windows. In this case, each 32-bit process cannot use more than 2GB of RAM. The graphics card memory should not be included in the total memory count.

Thus, you can have multiple 32-bit processes running at the same time - and if the physical memory is insufficient to run all of those at once, then the system will begin using virtual memory space (on a HDD or SSD).
 
Last edited:
Actually, what the OP is referring to is running 32-bit applications in a 64-bit version of Windows. In this case, each 32-bit process cannot use more than 2GB of RAM. The graphics card memory should not be included in the total memory count.

Thus, you can have multiple 32-bit processes running at the same time - and if the physical memory is insufficient to run all of those at once, then they system will begin using virtual memory.

I thought when it came to 32-bit applications they could use up to 4 GB of RAM (like a CPU with 32-bit registers), then part of that 4GB total accessible was mapped to video RAM. I wasn't sure what would happen when you have 4 GB of video RAM let alone primary system memory. How does it handle allocation? If a 32-bit application can only use 2 GB of RAM, then are my 32-bit applications only using 1 GB of primary and 1 GB of video?
 
I thought when it came to 32-bit applications they could use up to 4 GB of RAM (like a CPU with 32-bit registers), then part of that 4GB total accessible was mapped to video RAM. I wasn't sure what would happen when you have 4 GB of video RAM let alone primary system memory. How does it handle allocation? If a 32-bit application can only use 2 GB of RAM, then are my 32-bit applications only using 1 GB of primary and 1 GB of video?

It does not work that way. No system process can use any graphics card RAM at all. Only the installed system RAM plus whatever virtual memory space that you have on your system drive(s) should be considered. Thus, you will still have the full 6GB of main system RAM plus your virtual memory space available to your 32-bit applications even though a single 32-bit process cannot use more than 2GB of system RAM.
 
Last edited:
It does not work that way. No system process can use any graphics card RAM at all. Thus, only the installed system RAM plus whatever virtual memory space that you have on your system drive(s) should be considered.

So what happens in a 64-bit OS when running a 32-bit app? For instance, if I run Call of Duty 4, how does memory work? The app can never access more than 2 GB of primary system RAM?
 
So what happens in a 64-bit OS when running a 32-bit app? For instance, if I run Call of Duty 4, how does memory work? The app can never access more than 2 GB of primary system RAM?

Yes. That's basically the case. As a result, with a 64-bit OS and sufficient memory you can play CoD4 while at the same time you are running an anti-virus scan and multiple spyware scans and have multiple Web browser windows open without having to dig into the hard drive's or SSD's virtual memory.
 
Yes. That's basically the case. As a result, with a 64-bit OS and sufficient memory you can play CoD4 while at the same time you are running an anti-virus scan and multiple spyware scans and have multiple Web browser windows open without having to dig into the hard drive's or SSD's virtual memory.

And how does video RAM play any part in this? How much video RAM is a 32-bit app allowed to use?
 
Actually, what the OP is referring to is running 32-bit applications in a 64-bit version of Windows. In this case, each 32-bit process cannot use more than 2GB of RAM.

Under Win64, a 32-bit process can (assuming LARGE_ADDRESS_AWARE) use up to 4GB of virtual memory.
 
And how does video RAM play any part in this? How much video RAM is a 32-bit app allowed to use?

As I stated earlier, video RAM plays absolutely no part at all whatsoever in this. In a 32-bit operating system, the video card memory is shadowed onto the upper registers of the 4GB address range. 64-bit operating systems do not reserve that range for video RAM shadowing; instead, Win64 makes that entire range available to application usage.

And thanks to rflcptr for updating how much virtual memory 32-bit apps can use. I mentioned only physical system RAM in my original determination. 32-bit apps can use up to 2GB of physical RAM and up to 4GB of virtual memory (virtual memory is the combination of physical RAM and the space on a HDD or SSD).
 
And thanks to rflcptr for updating how much virtual memory 32-bit apps can use. I mentioned only physical system RAM in my original determination. 32-bit apps can use up to 2GB of physical RAM and up to 4GB of virtual memory (virtual memory is the combination of physical RAM and the space on a HDD or SSD).
I don't think there's an explicit limit to the physical RAM usage, as long as it falls under the virtual memory limit the process is entitled to.
 
Virtual memory is how the cpu virtualize memory to software (the virtual address space). A virtual address can point to physical memory, the page file or something else.

So with largeaddressaware on, an application can address up to 4GB of physical memory, if that is available.
 
Virtual memory is how the cpu virtualize memory to software (the virtual address space). A virtual address can point to physical memory, the page file or something else.

So with largeaddressaware on, an application can address up to 4GB of physical memory, if that is available.

True. An application can consist of multiple simultaneous processes. What I meant by the 2GB limit refers to a single 32-bit process.
 
Yes, and if the process/application has the large address aware bit set, it will be allowed to grow to 4GB...

In 32bit Windows the upper limit is 2GB by default (3 GB with the OS switch), because there need to be space for the kernel. There is no kernel in the 32bit virtual address space under 64bit Windows.
 
Back
Top