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

Reply via email to