exponenta event banner

память

Информация о памяти

Описание

пример

memory отображает в окне команд информацию об объеме памяти на компьютере и объеме памяти, используемой MATLAB ®. Вы можете использоватьmemory для проверки сведений о памяти, когда MATLAB не хватает памяти или когда вы замечаете регрессию производительности из-за большого использования памяти.

memory функция доступна только на платформах Microsoft ® Windows ®.

пример

[userview,systemview] = memory возвращает ориентированную на пользователя информацию о памяти в userview и системную информацию о памяти в systemview.

Примеры

свернуть все

Извлеките информацию о памяти компьютера и отобразите ее в окне команд.

memory
Maximum possible array:       60021 MB (6.294e+10 bytes) *
Memory available for all arrays:       60021 MB (6.294e+10 bytes) *
Memory used by MATLAB:        3337 MB (3.499e+09 bytes)
Physical Memory (RAM):       65189 MB (6.836e+10 bytes)

*  Limited by System Memory (physical + swap file) available.

Возврат информации о памяти, ориентированной на пользователя, в структуре user. Эта структура используется для просмотра объема памяти, зарезервированной для процесса MATLAB.

user = memory;
disp(user.MemUsedMATLAB)
   3.4986e+09

Возврат информации о памяти, ориентированной как на пользователя, так и на систему.

[user,sys] = memory
user = struct with fields:
    MaxPossibleArrayBytes: 6.2927e+10
    MemAvailableAllArrays: 6.2927e+10
            MemUsedMATLAB: 3.4986e+09

sys = struct with fields:
    VirtualAddressSpace: [1×1 struct]
           SystemMemory: [1×1 struct]
         PhysicalMemory: [1×1 struct]

Доступ к Available области PhysicalMemory для отображения объема доступной физической памяти на компьютере.

disp(sys.PhysicalMemory.Available)
   5.4366e+10

Выходные аргументы

свернуть все

Информация о памяти, ориентированная на пользователя, возвращаемая в виде структуры. userview имеет три поля:

Имя поляЗначение поля
MaxPossibleArrayBytes

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

Значение этого поля является меньшим из этих двух значений:

  • Самый большой смежный блок памяти, обнаруженный в виртуальном адресном пространстве MATLAB

  • Общее количество доступной системной памяти

Чтобы узнать, сколько элементов массива представляет это число, разделите его на число байт в классе массива. Например, для double массив, делить на 8. Фактическое число элементов, которые может создать MATLAB, всегда меньше этого числа.

MemAvailableAllArrays

Общий объем памяти, доступной для хранения данных. Объем доступной памяти гарантированно должен быть не меньше этого значения.

Значение этого поля является меньшим из этих двух значений:

  • Общее доступное пространство виртуальных адресов MATLAB

  • Общее количество доступной системной памяти

MemUsedMATLAB

Общий объем системной памяти, зарезервированной для процесса MATLAB.

Информация о системной памяти, возвращаемая в виде структуры. systemview имеет три поля:

Имя поляЗначение поля
VirtualAddressSpace

Скалярная структура с полями Available и Total.

  • Значение Available - это объем доступной виртуальной памяти для процесса MATLAB.

  • Значение Total - это общий объем виртуальной памяти для процесса MATLAB.

SystemMemory

Скалярная структура с полем Available. Значение Available поле - объем доступной системной памяти, который включает в себя объем доступной физической памяти и объем доступного пространства файла подкачки на компьютере.

PhysicalMemory

Скалярная структура с полями Available и Total.

  • Значение Available - объем доступной физической памяти (ОЗУ) на компьютере. Это значение можно использовать в качестве показателя объема данных, к которым можно получить доступ без необходимости использования файла подкачки на диске.

  • Значение Total - это общий объем физической памяти на компьютере.

Подробнее

свернуть все

Отображаемая информация о памяти

memory отображает эти значения в окне команд. Все указанные значения имеют тип double и выражены в байтах.

  • Maximum possible array: Размер наибольшего смежного свободного блока памяти

  • Memory available for all arraysОбщий объем памяти, доступной для хранения данных

  • Memory used by MATLABОбщий объем системной памяти, зарезервированной для процесса MATLAB

  • Physical Memory (RAM): Общий объем физической памяти (ОЗУ) на компьютере

В дополнение к значениям, MATLAB также может отображать следующую инструкцию:

*  Limited by System Memory (physical + swap file) available.

  • Если оператор применяется к Maximum possible array, то недостаточно системной памяти, чтобы обеспечить отображение всех виртуальных адресов в самом большом доступном блоке процесса MATLAB.

  • Если оператор применяется к Memory available for all arrays, то недостаточно системной памяти, чтобы обеспечить отображение всех доступных виртуальных адресов в процессе MATLAB.

Память, используемая MATLAB

MATLAB вычисляет размер Memory used by MATLAB путем перемещения структур памяти процесса MATLAB и суммирования всех разделов, которые имеют физическое хранилище, выделенное в памяти или в файле подкачки на диске.

Факторы, влияющие на результаты

Фактическая информация о памяти может отличаться от информации, полученной при вызове функции. Результаты зависят от оборудования компьютера и изменяющейся во времени нагрузки на компьютер.

Зарезервированные адреса

Зарезервированные адреса выделяются в виртуальном адресном пространстве процесса для определенного использования в будущем. Эти зарезервированные адреса уменьшают размер Memory available for all arrays и может уменьшить размер текущего или будущего значения Maximum possible array.

Например, при запуске MATLAB часть виртуального адресного пространства MATLAB зарезервирована виртуальной машиной Java ® Virtual Machine (JVM™) и не может использоваться для хранения массивов MATLAB.

Представлен в R2008a