32 bit windows max ram with discrete graphics card
Solution 1:
A 32-bit OS without PAE has a maximum address range of 4GB of physical memory. With an integrated graphics card, some of the RAM is used by the GPU. With an external graphics card, some of the address space is used for hardware mappings into the VRAM, but it is not as large as the amount of memory on the card. Typically, a discrete GPU needs about 256MB of mapped space regardless of how much memory is on the card. Other hardware mappings typically need around 256MB in total. Typically a 4GB machine with a 32-bit OS without PAE and a discrete graphics card will have 3.2GB to 3.5GB of usable RAM.
Note that if your BIOS has a specific setting for a 32-bit OS, it will keep the mappings to a minimum to allow more usable memory with a 32-bit OS. Usually the setting is called "Memory remapping". Turn if off if you're using a 32-bit OS without PAE.
Solution 2:
The limit is 'set' by your Windows License (and enforced by the ntoskrnl) and nothing else .
Common misunderstanding re: how much address space is needed to support i/o for large memory graphics cards .
More than 10 years ago Intel started making CPU's with 'PAE' that could address whatever amount of RAM ...and MS released 32bit versions of XP known as '2003 Server versions' that could support whatever size RAM the Marketing Dept. deemed 'appropriate' .. (I believe Enterprise Ed. went to 128 GB see here
However in the case of their 'client' OS's, like XP Pro, that was 4Gb = and that address space had to be shared with Drivers
A PAE aware driver only needs about 32Mb of the 4Gb ... however non-PAE aware drivers will cause BSOD's, and that's what happened 10 years ago .. so MS decoded to 'reserve' about 750Mb of address space and that's the way it's been ever since ..
Needless to say, these days all drivers are PAE aware and there really is no reason for limiting real RAM on 32bit clients (such as win 7 32 bit) to 3.25Gb or less EXCEPT for the MS Marketing Department wish to 'separate' the 32 and 64 bit systems ..
Proof of this is that 32bit Linux / MAC OS on EXACTLY the same hardware can see and use all available RAM