MATLAB.Exponenta
–Û·Ë͇ Matlab&Toolboxes

MATLAB

В.Г.Потемкин "Введение в Matlab" (v 5.3)
Глава 1. Операционая среда системы Matlab 5

  В оглавление книги \ К следующему разделу \ К предыдущему разделу \ Предметный указатель

1.6. Использование памяти

Система MATLAB требует для хранения каждой матрицы непрерывной области памяти. В частности, образы и анимация могут потреблять очень большие объемы памяти. В дополнение к памяти для хранения матрицы, карта пикселей, используемая для образов, требует памяти, пропорциональной площади изображения. Так например, изображение 500?500 цветных пикселей требут 2 МБ оперативной памяти. Если требуется 10 изображений такого размера, то уже необходимо 20 МБ, что является очень большим объемом. Чтобы уменьшить объем памяти, требуемый для этих операций, надо ограничить размер выводимых изображений.

Разрешение проблем выделения памяти. Если отсутствует фрагмент памяти,достаточный для размещения матрицы, то возникает ошибка out of memory, хотя общий объем свободной памяти может быть большим. Это связано с фрагментированием памяти в процессе ее выделения. Чтобы ликвидировать фрагментацию, следует воспользоваться командой pack; другой способ - разместить массивы больших размеров в оперативной памяти заранее в начале сеанса работы.

Управление динамической памятью. Система MATLAB использует для выделения динамической памяти стандартные функции malloc и free языка С. Эти утилиты поддерживают пул памяти, которая распределяется операционной системой в относительно медленном темпе; в свою очередь, для системы MATLAB эта память выделяется намного быстрее. Если пул недостаточен, то утилит malloc запрашивает операционную систему относительно выделения другого фрагмента оперативной памяти, чтобы пополнить пул.

По мере выделения памяти пул может становиться очень большим. Чтобы поддержать быстродействие, утилиты malloc и free не возвращают использованную память операционной системе. Эти подпрограммы исходят из предположения,что если большой объем памяти потребовался один раз, то в нем возникнет необходимость снова. Побочный эффект этого алгоритма состоит в том, что если MATLAB использовал некоторый объем памяти один раз, то она более не доступна другим программам, деже если MATLAB не использует это. Память пула возвращается операционной системе только по завершении работы системы MATLAB.

  В оглавление книги \ К следующему разделу \ К предыдущему разделу \ Предметный указатель

 


Поиск по сайту:

Система Orphus

Яндекс.Метрика