
Re: Simple program leaking memory  why?
Posted:
May 8, 2013 4:10 AM


In article <kmabu3$qdj$1@smc.vnet.net>, <gredner@gmail.com> wrote:
> Hi folks, > > I'm fighting an issue in which a simple Mathematica program to export a bunch > of plots is leaking a huge amount of memory  enough to exhaust the 12G > available on my machine. The problem is, it looks like the program should > run in bounded memory! A simplified version of my code which demonstrates > the problem follows: > > ==================== > n = 10000; > (* just some bogus data *) > makeData[_] := Table[{{x, y} = RandomReal[{3, 3}, {2}], {y, x}}, {200}]; > data = Array[makeData, n]; > ParallelMap[ > Export[ > "movie" <> IntegerString[#, 10, 4] <> ".png", > ListVectorPlot[data[[#]]]] &, > Range[1, n]]; > ==================== > > The problem occurs whether the loop is Map or Do, Parallel or not. It > occurs in Mathematica 8 and 9, both under Linux. > > The amount of memory leaked per frame is considerable  approximately .6 MB > in my tests. I don't see where it could be going, unless Export is caching > every byte which passes through it! > > I've also asked this question on stackexchange [1] but so far nobody has a > clue. > > Thanks, > Gabe > > [1] http://mathematica.stackexchange.com/questions/24461/whydoesthissimpleprogramleakmemory >
Mathematica keeps all In and Out cells, and this can look like a leak. Set $HistoryLength to zero and see if that helps.
There was a thread on this in September 2012 titled "Kernel exits (for lack of memory)" or just "Kernel exits".
Joe Gwinn

