文档

合并工作区内存

句法


包装文件名
pack('filename')

描述

通过重组信息来释放所需的空间,以便它仅使用所需的最小内存。保留了来自基本和全球工作区的所有变量,小于2GB。当时定义的任何持久变量都设置为其默认值(空矩阵,[])。

警告

功能无法保留大于2GB的变量。它可以从您的工作区中清除它们。

不要使用通过定义事件和侦听器的对象功能。这函数会导致工作空间中对象定义的任何侦听器的击路仪。有关保存对象时还原侦听器的信息,请参阅恢复听众

matlab®软件将您的工作空间数据临时存储在名为的文件中tp######.mat(在哪里######是位于您的临时文件夹中的数字值)。(您可以使用命令dir(tempdir)在此文件夹中查看文件)。

包装文件名在内存中释放空间,将工作空间数据临时存储在指定的文件中文件名。该文件位于您当前的工作文件夹中,除非另有说明,否则。垫文件扩展名。

pack('filename')是功能形式

例子

将当前文件夹更改为可写的文件夹,运行,然后返回到上一个文件夹。

CWD = PWD;CD(tempdir);包装CD(CWD)

提示

你只能运行从MATLAB命令行。

如果指定文件名论点,该文件必须位于您已写入权限的文件夹中。

功能不会影响分配给MATLAB过程的内存量。您必须退出MATLAB以释放此内存。

由于MATLAB使用了内存管理的堆方法,因此扩展的MATLAB会话可能会导致内存变得分散。当内存分散时,可能会有足够的自由空间,但不足的连续内存来存储新的大变量。

如果你得到记不清来自Matlab的消息,函数可能会找到一些免费的内存,而无需强迫您删除变量。

function frees space by

  • 将所有变量保存在基本和全局工作区中,以将其保存到临时文件。

  • 清除内存中的所有变量和功能。

  • 从临时文件中重新加载基本和全局工作区变量,然后删除文件。

如果您使用而且仍然没有足够的免费内存进行,您必须清除一些变量。如果您经常用完内存,则可以在MATLAB会话中分配较大的矩阵,并使用以下特定于系统的提示:

  • 在Open Group Unix上运行MATLAB时®platforms, ask your system manager to increase your swap space.

  • 在Microsoft上®视窗®平台,使用Windows控制面板增加虚拟内存。

要在运行包时保持持久变量,请使用莫克在功能中。

也可以看看

|

在R2006a之前引入

这个话题有帮助吗?