Re: Large TIFF file question [message #28906 is a reply to message #28834] |
Thu, 17 January 2002 04:03   |
Martin Downing
Messages: 136 Registered: September 1998
|
Senior Member |
|
|
> "Mark Rivers" <rivers@cars.uchicago.edu> wrote in message
> news:dxg18.2$s4.491@news.uchicago.edu...
>>
>> David Fanning <david@dfanning.com> wrote in message
>> news:MPG.16af2ce16a9304e39897d3@news.frii.com...
>>> Martin Downing (martin.downing@ntlworld.com) writes:
>>>
>>>> If you are crazy/unfortunate enough to be doing this on a windows
OS,
>>>> you'll be facing the 1/2Gb limit on process memory, [...]
>>>
>>> I thought one of the features of IDL 5.4 or 5.5 (I
>>> can't recall, since I just woke up and I'm sitting
>>> here scratching myself and waiting for the coffee
>>> to boil) was an RSI hack that allowed the PCs to
>>> exceed these memory limits. I remember this as being
>>> one of the most significant, but completely unheralded,
>>> items of that release.
>>
I'd be very interested to find out more - anyone know where this is
reported?
>> If you find anything documenting that I'd be most interested to hear
about
>> it. I routinely bump into this limit on Windows machines with 1GB of
RAM,
>> reading 3-D tomography data sets that are 400-600 MB.
.RESET_SESSION_ALL
>> sometimes helps, but I have to exit/restart IDL very frequently because
> the
>> memory gets fragmented.
>
> It seems that 5.4 and 5.5 on Windows 2000 will allow me to make a half-GB
> (512 MB) array, does this (dis-)prove anything? FYI, I have exactly 512MB
of
> RAM, VM set somewhat higher.
>
Allocating memory for a large variable is one thing, but you may not be able
to use it effectively as it will most likely be paged out by windows. There
is a command in windows 2000 (VirtualLock in Win32Api) which allows a
program to hold onto physical RAM (i.e. stop paging) but I do not think RSI
have considered this option. I believe the feature David is referring to is
"large file support"[1], this is an issue of being able to read write to
files that are over 2.1GB and so need a 64bit (long64) file pointer.
However, I dont think it would be a good idea to try to load one of these
files fully into memory!!!
On memory, the same documentation implies 32 bit IDL should be able to
handle upto 2.1Gb of data, according to Microsoft[2], if you have standard
NT/2000 then your processes can address 2Gb, with NT Server you can address
3GB and with NT Enterprise edition 4GB.
Martin
[1]"Large File Support for Windows platforms"
whatsnew.pdf (IDL5.4) pages 31-32
[2]Very Large Memory Partitions:
http://www.microsoft.com/ntserver/ProductInfo/Comparisons/UN IX/NTappdev/4_En
tSupportFeat.asp
|
|
|