Hank,
>
>if you load 30 instances of VFP on an x86 server with 3 GB of ram, each one taking 100MB of memory, you will find all those instances running in the space below 2GB. VFP can not address memory above 2GB. Why? Here
http://msdn.microsoft.com/en-us/library/wz223b1z(v=vs.80).aspx and here
http://us.battle.net/wow/en/forum/topic/1658706617?page=6 (it's been a big thing in the gaming community). Given when VFP was written, this makes sense. It's not that it can't address _more_ than 2 GB of memory (although that's true also), but that it can't address _above_ the 2GB line. This is true for every x86-compiled program, except those that has the /LARGEADDRESSAWARE flag set in the linker; or those who are capable, if the corresponding header flag (usually called the LARGEMEMORYAWARE flag by the gamers, but not by Microsoft) is set in the header of the EXE.
>
>I've tested on Windows 2008 R2 (which is always x64), where there is no /PAE flag because nearly all 4GB of the lower 4GB are automatically made available to x86 programs, using the modifed EXE, and, no joy, still crammed into 4GB. I left a note for Calvin on his blog, but he doesn't really answer those, and I've had no answer.
>
In XP AFAIR you must explicitly set a /3GB in boot.ini, but I have not tested there, stepped over Vista and did not look at Win7.
Perhaps I should play with that some time, but who to blame for spurios errors if any crop up <g>
Where did you expect the programs to reside if not in the lower 4GB of the 32Bit server ?
update:
did not see any such comment in his:
Out of memory? Easy ways to increase the memory available to your program
regards
thomas