MATLAB Function Reference Previous page   Next Page
pack

Consolidate workspace memory

Syntax

Description

pack frees up needed space by reorganizing information so that it only uses the minimum memory required. All variables from your base and global workspaces are preserved. Any persistent variables that are defined at the time are set to their default value (the empty matrix, []).

MATLAB temporarily stores your workspace data in a file called tp######.mat (where ###### is a numeric value) that is located in your temporary directory. (You can use the command dir(tempdir) to see the files in this directory).

pack filename frees space in memory, temporarily storing workspace data in a file specified by filename. This file resides in your current working directory and, unless specified otherwise, has a .mat file extension.

pack('filename') is the function form of pack.

Remarks

You can only run pack from the MATLAB command line.

If you specify a filename argument, that file must reside in a directory for which you have write permission.

The pack function does not affect the amount of memory allocated to the MATLAB process. You must quit MATLAB to free up this memory.

Since MATLAB uses a heap method of memory management, extended MATLAB sessions may cause memory to become fragmented. When memory is fragmented, there may be plenty of free space, but not enough contiguous memory to store a new large variable.

If you get the Out of memory message from MATLAB, the pack function may find you some free memory without forcing you to delete variables.

The pack function frees space by

If you use pack and there is still not enough free memory to proceed, you must clear some variables. If you run out of memory often, you can allocate larger matrices earlier in the MATLAB session and use these system-specific tips:

To maintain persistent variables when you run pack, use mlock in the function.

Examples

Change the current directory to one that is writable, run pack, and return to the previous directory.

See Also

clear, memory


Previous page  otherwise pagesetupdlg Next page

© 1994-2005 The MathWorks, Inc.