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

Home » Public Forums » archive » Memory management by 5.4 on Sunblade
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: Memory management by 5.4 on Sunblade [message #28523 is a reply to message #28436] Wed, 19 December 2001 14:41 Go to previous messageGo to previous message
John-David T. Smith is currently offline  John-David T. Smith
Messages: 384
Registered: January 2000
Senior Member
Timm Weitkamp wrote:
>
> Hi,
>
> I'm mostly using IDL 5.4 on my laboratory's Linux86 cluster, and
> running memory-critical simulation code on it which uses lots of large
> temporary arrays.
>
> Now they've bought a Sunblade as the first test machine of a future
> cluster, and so I tried running my code on that one, using 5.4 as
> before. That is,
>
> IDL> print,!version
> { sparc sunos unix 5.4 Sep 25 2000 64 64}
>
> However, I noticed that memory management by IDL 5.4 on the Sunblade
> is extremely poor in that variable space "freed" by TEMPORARY, DELVAR,
> or simply by dynamic resizing of a variable is not actually freed but
> kept allocated (so tells me "top").
>
> I wonder if this bug will persist with 5.5, which hasn't yet been
> installed on any machine here. Has anybody else made any experience
> with 5.4 or 5.5 on Sunblade in this context?

It's not a *bug*, it's a *feature*. IDL allocates memory as necessary
from the OS, and then, even if it doesn't need it any more, hangs onto
it just in case. This is true I think on all platforms, and all recent
versions of IDL. You still have the memory available, just not to the
system as a whole.

Example:


IDL> help,/memory
heap memory used: 370549, max: 372383, gets: 297,
frees: 92
IDL> a=fltarr(256,256,256)
IDL> help,/memory
heap memory used: 67479528, max: 67479547, gets: 301,
frees: 93
IDL> a=0
IDL> help,/memory
heap memory used: 370617, max: 67479545, gets: 304,
frees: 95

So you see, the giant array used up 64MB or so. IDL allocated the
memory for it, at which point 67479528 bytes of heap memory are used.
When you free that variable, only 370617 bytes are used, but 67479545
bytes are still allocated. So the memory is available, just not to any
other program.

JD
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Unsatisfactory 'file_test()' behavior
Next Topic: Re: license problem

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

Current Time: Fri Oct 17 14:15:16 PDT 2025

Total time taken to generate the page: 1.52273 seconds