Hi 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.
After reading the posts from Fabio and Greg I also am not sure if there is not some misunderstanding.
Perhaps check:
http://support.microsoft.com/kb/889654/en-ushttp://support.microsoft.com/kb/297812/en-ushttp://pdir.technodat.cz/r19/catia/catia_windows_large_memory.htmhttp://blogs.msdn.com/b/calvin_hsia/archive/2010/09/27/10068359.aspxhttp://www.mcadcentral.com/proe/forum/forum_posts.asp?TID=24552&PN=5http://social.msdn.microsoft.com/Forums/en-US/clr/thread/c50ea343-b41b-467d-a457-c5a735e4dfff/http://bytes.com/topic/c-sharp/answers/586209-editbin-largeaddressawarehttp://blogs.msdn.com/b/oldnewthing/archive/2005/06/01/423817.aspxhttps://forums.oracle.com/forums/thread.jspa?threadID=1080465or
http://www.heise.de/ct/hotline/2-GByte-Grenze-321904.html[for those stroking their masochistic tendencies trying to learn my language].
My guess is that if you start the patched version several times in a 64b OS you should
be able to force workingsetsize footprint of >2GB if everything works correctly
in each instance (as I could interpret your second paragraph with 3* 4GB...)
regards
thomas