Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.matlab

Topic: matlab/mex function doesn't free memory
Replies: 22   Last Post: Dec 10, 2012 1:49 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Rune Allnor

Posts: 4,455
Registered: 12/7/04
Re: matlab/mex function doesn't free memory
Posted: Dec 14, 2008 4:35 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

On 14 Des, 19:09, "Alex Berkovich" <alex...@tx.technion> wrote:
> Hello all,
>
> I'm running a mex function that calls for c code (compiled in the same file as the mex function itself).
> when a simulation is done, it seems matlab doesn't release the memory it uses since i see a growing amount of memory being used by matlab (via task manager).
>
> it reaches the limit of my computer and then either crashes or simply continues to run forever.
>
> any suggestion on how to solve this problem is very appriciated.


Any data structures you allocate with malloc-type functions
(or with new in C++) should be freed by the appropriate
corresponding calls to free or delete before your MEX function
returns.

As for mxCreateXXXX, only use them for whatever you intend to
return back to the matlab workspace. I've never understood how
the matlab memory managment system works (it seems to be based
on some Java-type garbage collector) and I've always ended up
with segmentation faults when I used mxFree on local variables
inside the MEX function.

Rune



Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.