Fred Wolfe <[email protected]> writes:
>Using systeminfo my machine reports
>Total physical memory: 2047
>Available physical memory: 1405
>
>However, Stata refuse to set mem until 1100m:
>
>. set mem 1400m
>op. sys. refuses to provide memory
>r(909);
>
>. set mem 1300m
>op. sys. refuses to provide memory
>r(909);
>
>. set mem 1200m
>op. sys. refuses to provide memory
>r(909);
>
>. set mem 1100m
This has to do with the fact that 1100m is the largest continuous block of
free memory and is something that is managed my the Windows memory manager.
Continuous is the key to this equation. Within a 32bit address range (2Gb),
the operating system and other programs will also have their data. The
remaining 305m in your particular example is available, but not adjacent to,
the 1100m block. Therefore 1100m is the largest size you can allocate from
Windows. Also, this value will probably 'float' within a range near 1100m, as
the memory needs of other programs change.
See the FAQ on this subject:
http://www.stata.com/support/faqs/win/winmemory.html
You might be in the market for a 64bit platform if you need to process datasets
near the 2Gb limit. The FAQ is a little outdated on the 64bit platforms Stata
supports. Currently Stata for Linux, with an Opteron or Athlon64, is also an
option.
Hope this explanation clears up some of the confusion,
--Kevin
[email protected]
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/