out of memory error
古いコメントを表示
Hi,
I ran a large Monte-Carlo simulation using a loop on a script (not function). After several iterations I got a Out Of Memory error message. I saved the workspace, restarted MATLAB, loaded the saved workspace and modified the loop variable to complete remaining iterations and got the result.
How MATLAB handled this kind of scenario? Why didn't I get any error message when the simulated the remaining segments as I loaded same variables into the RAM?
I need to understand the process badly as I have several other similar simulations to run. Is there any simpler way to get rid of the problem?
5 件のコメント
Walter Roberson
2013 年 8 月 31 日
Were any graphics being constructed?
oblivious
2013 年 9 月 1 日
Walter Roberson
2013 年 9 月 1 日
Consider using the profiler to see where memory is disappearing. Or if you are on MS Windows, consider displaying the output of "feature memory" (or is it "feature memstats" ?) at chosen locations.
It is possible that you have encountered a bug, but it is also possible that you are encountering fragmented memory, where there is enough total memory but it is in pieces that are individually too small to use.
oblivious
2013 年 9 月 1 日
Walter Roberson
2013 年 9 月 1 日
Memory fragmentation can often be considerably reduced by pre-allocation. If you currently expand any matrix (or vector) within a loop, change that to pre-allocate if you can (and otherwise switch to algorithms that allocate in chunks instead of one row at a time.)
回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Loops and Conditional Statements についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!