pack

Консолидируйте память рабочей области

Синтаксис

pack
pack filename
pack('filename')

Описание

pack освобождает необходимый пробел путем реорганизации информации так, чтобы это только использовало требуемую минимальную память. Сохраняются все переменные из ваших основных и глобальных рабочих областей, которые меньше 2 ГБ. Любые персистентные переменные, которые заданы в то время, установлены в свое значение по умолчанию (пустая матрица, []).

Внимание

pack функция не может сохранить переменные, больше, чем 2 ГБ. Это очищает их от вашей рабочей области.

Не используйте pack функция с объектами, которые задают события и прослушиватели. pack функционируйте вызывает деструктор любых прослушивателей, заданных для объектов в рабочей области. Для получения информации о восстановлении прослушивателей при сохранении объектов смотрите Прослушиватели Восстановления.

MATLAB временно хранит ваши данные о рабочей области в файле под названием tp######.mat (где ###### числовое значение), который расположен в вашей временной папке. (Можно использовать команду dir(tempdir) видеть файлы в этой папке).

pack filename освобождает пробел в памяти, временно храня данные о рабочей области в файле, заданном filename. Этот файл находится в вашей текущей рабочей папке и, если не задано в противном случае, имеет .mat расширение файла.

pack('filename') функциональная форма pack.

Примеры

Измените текущую папку в ту, которая перезаписываема, запуск pack, и возвратитесь к предыдущей папке.

cwd = pwd;
cd(tempdir);
pack
cd(cwd)

Советы

Можно только запустить pack из командной строки MATLAB.

Если вы задаете filename аргумент, тот файл должен находиться в папке, для которой у вас есть разрешение записи.

pack функция не влияет на объем памяти, выделенный процессу MATLAB. Необходимо выйти из MATLAB к свободному эта память.

Поскольку MATLAB использует метод кучи управления памятью, расширенные сеансы работы с MATLAB могут заставить память становиться фрагментированной. Когда память фрагментируется, может быть много свободного пространства, но недостаточно непрерывной памяти, чтобы сохранить новую большую переменную.

Если вы получаете Out of memory обменивайтесь сообщениями из MATLAB, pack функция может найти вас некоторой свободной памятью, не обеспечивая вас, чтобы удалить переменные.

pack функция освобождает пробел

  • Сохранение всех переменных в основных и глобальных рабочих областях к временному файлу.

  • Очищение всех переменных и функций из памяти.

  • Перезагрузка основных и глобальных переменных рабочей области назад из временного файла и затем удаление файла.

Если вы используете pack и все еще нет достаточного количества свободной памяти, чтобы продолжить, необходимо очистить некоторые переменные. Если у вас часто заканчивается память, можно выделить большие матрицы ранее в сеансе работы с MATLAB и использовать эти специфичные для системы советы.

  • Когда рабочий MATLAB на платформах Open Group UNIX®, просит ваш системный администратор увеличивать вашу область подкачки.

  • На платформах Microsoft® Windows® увеличьте виртуальную память с помощью Панели управления Windows Control Panel.

Чтобы обеспечить персистентные переменные, когда вы запустите пакет, используйте mlock в функции.

Смотрите также

|

Представлено до R2006a