Re: IDL new graphics memory leak? [message #93715 is a reply to message #93713] |
Tue, 04 October 2016 05:39   |
Helder Marchetto
Messages: 520 Registered: November 2011
|
Senior Member |
|
|
On Tuesday, October 4, 2016 at 1:57:12 PM UTC+2, belk...@web.de wrote:
> Hey,
>
> I have some enourmous problem with the amound of memory (virtual) IDL is using. I believe they are resulting from my extensive use of plots and images using the plot/image functions from IDL. If I omit them from my code my memory usage is on a normal level (1-8gb). If I want to include plots and images then my usage of memory will grow till it overloads the cluster I am working on (200-400 gb). Right after saving them I destroyed the objects via obj_destroy. This didn't solved my problem so I used heap_free. Still no improvment. Is there anything I am missing here? I am using IDL 8.3 on linux 64 bit.
> rough sketch of my program structure:
>
> read file (big image)
>
> For
> For
> data analysis
> Img=image(...)
> img.save,....
> destroy img
> plot=plot()...
> ...
> endfor
> endfor
> end
>
>
> Thanks in advance!
> B.R.
Did you try img.close instead of obj_destroy? Did this give the same result?
Also, if I do a lot of images, I would change the loop to something like this:
Img=image(...) ;can also be empty or use dist(100) or whatever...
plt = plot(...)
For
For
data analysis
Img->setData, ...
img.save,....
plt->setData...
...
endfor
endfor
destroy img
end
This should also speed things up, but probably your bottleneck is not the the call to image(), but the "data analysis" before that.
Notice that you can call setData also pass x and y (as arrays).
Cheers,
Helder
|
|
|