comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: IDL - freeing up used memory?
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: IDL - freeing up used memory? [message #89905 is a reply to message #89904] Mon, 22 December 2014 05:53 Go to previous messageGo to previous message
Helder Marchetto is currently offline  Helder Marchetto
Messages: 520
Registered: November 2011
Senior Member
On Monday, December 22, 2014 2:05:10 PM UTC+1, ptoma...@gmail.com wrote:
> On Thursday, May 30, 2013 2:20:46 AM UTC+9, David Fanning wrote:
>> AMS writes:
>>
>>
>>> I'm running into a memory issue which I am not certain whether is related to my IDL code or the machine the code is running on itself, and am wondering whether someone might be able to help me out. To start with, I'm using IDL 7.1.1 on CentOS, invoking via command line.
>>>
>> I think your memory is getting fragmented. I would think about doing two
>> things. First, I wouldn't set your unused variables to 0, as I think
>> that promotes fragmentation. I would use the Coyote Library routine
>> UNDEFINE to get rid of them:
>>
>> http://www.idlcoyote.com/programs/undefine.pro
>>
>> But, maybe better than this, I would try (assuming they are always the
>> same size) to reuse the memory you have already set aside for reading in
>> the variables:
>>
>> FOR j=0,n DO ....
>> IF N_Elements(inputVar) EQ 0 THEN $
>> inputVar = ... ELSE $
>> inputVar = Temporary(inputVar) * 0
>> ReadU, lun, inputvar
>>
>> Cheers,
>>
>> David
>> --
>> David Fanning, Ph.D.
>> Fanning Software Consulting, Inc.
>> Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
>> Sepore ma de ni thue. ("Perhaps thou speakest truth.")
>
> Hi David,
>
> Hi,
>
> I have the same problem with IDL 7.0 using on fedora 20. I have 8 GB RAM.
> For example, my idl is using max memory 1.6 GB...not more than that
>
> IDL> b=bytarr(1000,1000,1600)
> IDL> help,/mem
> heap memory used: 1601945318, max: 1601945409, gets: 2884510, frees: 2883617
>
> If I give larger array, showing error
> IDL> b=bytarr(1000,1000,1700)
> % Unable to allocate memory: to make array.
> Cannot allocate memory
> % Execution halted at: $MAIN$
>
>
> I do not know why my IDL is not using the available RAM memory.
> Any help will be appriciated.
>
> Thanks
> Pankaj

Just a guess: could it be that your IDL version is 32-bit?

Try
IDL> help, !version, /struct
** Structure !VERSION, 8 tags, length=104, data length=100:
ARCH STRING 'x86_64'
OS STRING 'Win32'
OS_FAMILY STRING 'Windows'
OS_NAME STRING 'Microsoft Windows'
RELEASE STRING '8.4'
BUILD_DATE STRING 'Sep 27 2014'
MEMORY_BITS INT 64
FILE_OFFSET_BITS
INT 64

Notice that according to the help:
"MEMORY_BITS
The number of bits used to address memory. Possible values are 32 or 64. The number of bits used to address memory places a theoretical upper limit on the amount of memory available to IDL."

Cheeers
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: need personal IDL coach
Next Topic: IDLBridge problem with unknown ExecuteTimer method

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Fri Oct 10 01:53:46 PDT 2025

Total time taken to generate the page: 0.64753 seconds