MATLAB内存整理——pack函数

在碰到Out of Memory的时候,首先可能会想到增加系统的虚拟内存,在论坛搜索了一下,曾经有几位朋友说过pack函数,但是只是说使用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

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值