1、在命令行中输入pack函数来整理内存
pack函数到底是什么机制呢?这里参考了MATLAB的help文档,话说回来,help始终是学习MATLAB的“金参考标准”。
用法:
pack,pack filename,pack('filename')%第三者为第二者的函数方式。
pack可以为用户整理内存的机制在于,pack函数重新整理MATLAB工作空间中驻留的变量,将原来断断续续的内存整理的连续起来,这样原来断断续续的内存可能不足以存储大的矩阵,而整理之后,可以很显著的提高内存的使用效率。
整理步骤:
(1)将base空间以及全局变量保存到一个mat文件
(2)清空工作空间中的所有资源
(3)重新载入mat文件中保存的base空间变量和全局变量,然后删掉mat文件
这样一来,重新分配的空间将是连续的,避免掉原来断断续续的内存使用。
需要注意的是pack不能提高MATLAB所拥有的虚拟内存数量,如果想要增加这个数量,也就是使MATLAB单独变量的最大size或者同时存在的变量所占有的最大空间增大,需要提高系统的虚拟内存。
转自:http://www.ilovematlab.cn/thread-95315-1-1.html
2、增加虚拟内存
I. 可以在matlab命令行输入 memory 看看系统的限制
我的系统是:
memoryMaximum possible
array: 1451 MB
(1.521e+009 bytes)
*
当前系统