Chris and everybody,
I just wanted to make a note here describing available memory on
Windows. I did a bunch of coding this weekend with respect to Windows
memory and can now tell you where that magic number comes from. With
Windows Virtual memory implementation, each process is limited to
using 2GB of RAM. However, this amount of memory must be used to
store the executable, its stacks, and all its heaps. This amount is
also degraded by the fact that they add 64K on both ends of the
memory space as a protection barrier. After the executive loads into
memory, everything else is set up, the total amount of free addresses
available will typically be around 1.2GB. Thus no matter how much
memory is in a machine, with Win32, only 1.2GB of arena space can be
addressed at a time. This will change with Win64, but this is it for
now. My new code will set the max for you if you go over the boundary
setting it at the command line (thus no more having to figure the
magic number by hand.)
I did add some code that will allow us to build a version of the exec
that fixes the arena in physical memory, but after a little testing
on small stuff, I didn't see any speed differences. With large
datasets this may be different.
Thought you'd like to know.
David
In the last case, that's probably not enough for most stuff I do, so
I disconnect and restart by upping memory in the Connect to Server
Options dialog. Oddly, the largest number I am allowed to enter is
1256Mb. 1257 or higher and the server declares is is "queued" but
does not start. No idea where that magic number comes from. I will
point out that it is not 7/8 of 2Gb.
--
.............................................................................
David L. Thompson Visualization and Imagery Solutions, Inc.
mailto:[EMAIL PROTECTED] 5515 Skyway Drive, Missoula, MT 59804
Phone : (406)257-8530