matlab out of memory产生原因和解决办法
生活随笔
收集整理的這篇文章主要介紹了
matlab out of memory产生原因和解决办法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
MATLAB out of memory產生原因及解決辦法
查看內存使用情況命令:
>> system_dependent memstats
產生內存溢出的原因:
1、變量需要的存儲空間超過了可用的內存空間
2、數據需要的存儲空間,超過了內存中最大的可用連續存儲空間
3、程序和問題求解方法的設計不周,導致內存溢出
在使用過程中,由于存儲單元的不斷的被分配和清除,內存會被分割成不連續的區域,很容易造成out of memory
解決辦法:
1、為矩陣變量預置內存
在動態分配的過程中,由于開始MATLAB所用的block隨著矩陣的增大而連續的為矩陣分配內存,
但是由于block的不連續性,很有可能最開始分配的block不能滿足存儲需要,MATLAB只好移
動此block以找到更大的block來存儲,這樣在移動過程中不但占用了大量的的時間,而且很有
可能找不到更大的塊,導致out of memory。當為矩陣變量預置內存時,matlab會在計算開始前
一次性找到最合適的block&#x
查看內存使用情況命令:
>> system_dependent memstats
產生內存溢出的原因:
1、變量需要的存儲空間超過了可用的內存空間
2、數據需要的存儲空間,超過了內存中最大的可用連續存儲空間
3、程序和問題求解方法的設計不周,導致內存溢出
在使用過程中,由于存儲單元的不斷的被分配和清除,內存會被分割成不連續的區域,很容易造成out of memory
解決辦法:
1、為矩陣變量預置內存
在動態分配的過程中,由于開始MATLAB所用的block隨著矩陣的增大而連續的為矩陣分配內存,
但是由于block的不連續性,很有可能最開始分配的block不能滿足存儲需要,MATLAB只好移
動此block以找到更大的block來存儲,這樣在移動過程中不但占用了大量的的時間,而且很有
可能找不到更大的塊,導致out of memory。當為矩陣變量預置內存時,matlab會在計算開始前
一次性找到最合適的block&#x
總結
以上是生活随笔為你收集整理的matlab out of memory产生原因和解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL如何向表中增加、修改字段
- 下一篇: 小王子经典语录