Is there a way to prevent matlab from going into swap memory?

9 views (last 30 days)
Sometimes when working with new code I inadvertently declare an array or too many arrays such that matlab starts working in swap memory. Sometimes I can get matlab to respond and clear the memory, but most of the time I have to explicitly kill the matlab processes and restart matlab. So what I'm wondering is if there is a way to tell matlab to throw an error if too much memory is requested; kind of like it did back when I was using 32-bit matlab and it would give "out-of-memory" errors.

Accepted Answer

Walter Roberson
Walter Roberson on 10 Oct 2011
Which OS?
If you are using Linux or Mac OS-X, then you can use the shell "ulimit" command before you start up MATLAB in that shell. You would, in that case, probably want to use the "-v" option of ulimit.
If you are using MS Windows, then I am not familiar with the mechanisms for that, but you could ask Clippy.
  6 Comments
Craig
Craig on 10 Oct 2011
yes it looks like it used to work, but from this thread it appears that it stopped working in leapard...
http://forums.macrumors.com/showthread.php?t=573616
Walter Roberson
Walter Roberson on 10 Oct 2011
Bleh.
This _might_ help: http://serverfault.com/questions/15564/where-are-the-default-ulimits-specified-on-os-x-10-5
http://stackoverflow.com/questions/3274385/how-to-limit-memory-of-a-os-x-program-ulimit-v-neither-m-are-working

Sign in to comment.

More Answers (1)

Jason Ross
Jason Ross on 10 Oct 2011
Also, keep in mind with 64-bit computing and memory getting less expensive all the time, it may actually be appropriate to set the swap for a system to something that would be considered "too small". The old "1.5 - 2 times RAM" guideline may no longer be appropriate.

Categories

Find more on Performance and Memory in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!