MATLAB out of memory产生原因及解决办法
查看内存使用情况命令:
>> system_dependent memstats
产生内存溢出的原因:
1、变量需要的存储空间超过了可用的内存空间
2、数据需要的存储空间,超过了内存中最大的可用连续存储空间
3、程序和问题求解方法的设计不周,导致内存溢出
在使用过程中,由于存储单元的不断的被分配和清除,内存会被分割成不连续的区域,很容易造成out of memory
解决办法:
1、为矩阵变量预置内存
在动态分配的过程中,由于开始MATLAB所用的block随着矩阵的增大而连续的为矩阵分配内存,
但是由于block的不连续性,很有可能最开始分配的block不能满足存储需要,MATLAB只好移
动此block以找到更大的block来存储
查看内存使用情况命令:
>> system_dependent memstats
产生内存溢出的原因:
1、变量需要的存储空间超过了可用的内存空间
2、数据需要的存储空间,超过了内存中最大的可用连续存储空间
3、程序和问题求解方法的设计不周,导致内存溢出
在使用过程中,由于存储单元的不断的被分配和清除,内存会被分割成不连续的区域,很容易造成out of memory
解决办法:
1、为矩阵变量预置内存
在动态分配的过程中,由于开始MATLAB所用的block随着矩阵的增大而连续的为矩阵分配内存,
但是由于block的不连续性,很有可能最开始分配的block不能满足存储需要,MATLAB只好移
动此block以找到更大的block来存储