Not sure if this applies to your case, but there are some known issues with memory management of parallel constructs. See e.g. https://github.com/JuliaLang/julia/issues/8912 and others linked from there.
On Mon, Mar 30, 2015 at 3:38 PM, Gregory Plumb <plum...@gmail.com> wrote: > Hello, > > I have a function that pushes some data onto other processes. It does > this by constructing a RemoteRef on each worker process and then using > put!() to put the data onto each process. These RemoteRef's are stored in > an array. The main function then calls some other functions on the worker > processes (using the data in the RemoeRefs) and then returns the result, > which was collected on the main process. I can post the code if it would > be helpful. > > What I have observed is, that over successive calls to this main function, > the total amount of memory used by each one of the worker processes grows. > > Is there a way to avoid this? I have tried using take!(), but it just > increased the total memory allocated (measured using @time). > > Thank you very much for your help and I am sorry if this is a really easy > question whose answer is in the User Manual (I've read it several times > today, and I can't find anything). > > - Gregory Plumb >