包
巩固工作空间内存
语法
包
包文件名
包(文件名)
描述
包
通过重新组织信息来释放所需的空间,使其只使用所需的最小内存。所有来自基本工作区和全局工作区的小于2GB的变量都将被保留。此时定义的任何持久化变量都被设置为它们的默认值(空矩阵,[]
).
谨慎
的包
函数无法保存大于2GB的变量。它将它们从您的工作空间中清除。
请勿使用包
函数使用定义事件和侦听器的对象。的包
函数导致为工作空间中的对象定义的任何侦听器的析构函数。有关保存对象时恢复侦听器的信息,请参见恢复的听众.
MATLAB®软件临时将工作区数据存储在一个名为tp # # # # # # .mat
(# # # # # #
是数值),该文件位于临时文件夹中。(您可以使用该命令dir (tempdir)
查看此文件夹中的文件)。
包文件名
释放内存中的空间,临时将工作区数据存储在指定的文件中文件名
.此文件驻留在当前工作文件夹中,除非另有指定,否则具有.mat
文件扩展名。
包(文件名)
的函数形式是包
.
例子
将当前文件夹更改为可写文件夹,运行包
,并返回到上一个文件夹。
CWD = pwd;cd (tempdir);包cd(鹿)
提示
你只能跑包
从MATLAB命令行。
如果您指定文件名
参数,则该文件必须位于您具有写权限的文件夹中。
的包
函数不会影响分配给MATLAB进程的内存量。必须退出MATLAB才能释放此内存。
由于MATLAB使用内存管理的堆方法,因此扩展的MATLAB会话可能会导致内存碎片化。当内存碎片化时,可能有足够的空闲空间,但没有足够的连续内存来存储一个新的大变量。
如果你得到内存不足
消息,从MATLAB,包
函数可以为您找到一些空闲内存,而不必强迫您删除变量。
的包
函数释放空间
将基本工作区和全局工作区中的所有变量保存到临时文件中。
清除内存中的所有变量和函数。
从临时文件中重新加载基本和全局工作区变量,然后删除该文件。
如果你使用包
并且仍然没有足够的空闲内存来继续,您必须清除一些变量。如果您经常耗尽内存,您可以在MATLAB会话早期分配更大的矩阵,并使用这些特定于系统的技巧。
在Open Group UNIX上运行MATLAB时®平台,请系统管理员增加交换空间。
在微软®窗户®平台,增加虚拟内存使用Windows控制面板。
若要在运行pack时维护持久变量,请使用mlock
在函数中。