memory leak

dfphil
Posts: 2
Joined: 2010-09-28
Location: United States

I have a routine that iterates through roughly 35,000 FITS files, loading and analyzing each file in turn and saving the results of this analysis. The FITS loader is derived from version 2.13 of the Igor FITS loader but has some modifications to work with the details of the specific FITS files I am loading. I load each file into a FREE data folder and attempt to kill it at each iteration through the loop. I am finding, however, that each iteration through the loop about 200k to 300k worth of memory isn't recovered. While 200k isn't anything I'd worry about, 200k*35000=7GB which is more of a problem. My 12GB mac pro is managing survive this (mostly by compressing memory) but I would like this analysis routine to run with about twice as many files as I have now. The primary data array in the FITS file is about 1.5 MB so it is successfully killing that wave. There are some FITS header variables that get written into child data folders beneath the data wave but I'd be surprised if that were 200k.

With that long introduction, are there any good Igor tools or techniques for debugging (presumably user) memory leaks to diagnose this problem?

Thanks for any help
David


Posts: 1615
Joined: 2007-06-21
Location: United States

I recommend that you try to boil this down as much as possible to a simple self-contained experiment and send it with sample FITS files to WaveMetrics support. I assume that you could create a demo that loads the same file over and over again so you don't need to send us 35,000 FITS files.

Make sure you are running the last Igor version.

When you send the recipe to WaveMetrics support, please include your system information. In Igor7, start your email to WaveMetrics support by choosing Help->Contact Support to create an email and popuplate it with your system info.


dfphil
Posts: 2
Joined: 2010-09-28
Location: United States

I had been avoiding doing that, but as I think about it, you're right and it shouldn't be so bad. I'll give it a try.


Back to top