computer freezes during heavy array calculation

3 次查看(过去 30 天)
Tried limiting max array size to 80% RAM, did not help. Windows 10 64bit, page file managed by windows. R2016B

采纳的回答

Adam
Adam 2016-11-17
编辑:Adam 2016-11-17
'This limit applies to the size of each array, not the total size of all MATLAB arrays.'
That setting is only really of use related to creation of a single array. If you are doing any kind of calculation on your data you will usually end up with some number of intermediate results and one or more end results, which may be of the same size as the initial array or similar size.
When I have had issues of working with large data I have had to work out how many intermediate results I create and what size they are and make a rough calculation of the amount of memory that is used, then add an extra factor to allow for me miscalculating or just generally allowing breathing space and then I use this to determine the largest size of input data I can deal with at any one time.
I'm not aware of an easy panacea method for just always ensuring that any algorithm you run will behave itself with memory allocation for all its intermediate results. It needs to be carefully tuned for individual algorithms from my experience. Obviously for some algorithms the calculation is easy, for others it is a little more complicated, especially if you use the parallel pool with data being transferred to all the workers too.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Cell Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by