Put a limit on Memory Matlab Uses

6 views (last 30 days)
This morning I froze our local workstation with Matlab while error testing my code. I accidentally created variables requiring large amounts of memory (>100GB) while the workstation only has 50GB to utilize. The 64bit 2009A Matlab does not give the usual 'out of memory' response other computers will, but instead I believe it tries to use hard-disk space to create all the variables. The computer runs Windows Server 2008.
Is there a way to limit the amount of memory used by Matlab so that there is, say always at least 2 GB of memory available for the user?
Thanks Blaine

Accepted Answer

Jason Ross
Jason Ross on 29 Jul 2011
The behavior you are seeing is a result of Windows trying to "be nice" and allocate the memory you have requested. Since you have a 64-bit address range, it will try as hard as it can to satisfy your request .... although when things are swapped out to disk, they get really slow.
I am not aware of a way to limit an application's memory usage on Windows. I checked Group Policy and found nothing there, I would think that is where you would be able to control such a thing.
A way you could limit this type of behavior is to set your page file size to a certain amount. This way, instead of Windows trying to grow the page file size automatically, it would stop and you would likely get the out of memory error.
  2 Comments
Blaine
Blaine on 29 Jul 2011
Right now, the total memory (physical + swap) is 84 GB, 34 GB over the physical memory. However, why does Matlab recommend a high amount of swap space (2x physical memory) in the documentation ? Obviously they should realize that it's mind numbingly slow...
Jason Ross
Jason Ross on 29 Jul 2011
2X RAM is an old "rule of thumb". There is no right answer. If you want to come up with a better amount, you can monitor how much swap gets used in normal usage of the machine and set the size accordingly.
http://support.microsoft.com/kb/889654

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!