memory - Memory information - MATLAB (original) (raw)

Main Content

Syntax

Description

memory displays information in the Command Window about the amount of memory on your computer and the amount of memory being used by MATLAB®. You can use memory to inspect the memory details when MATLAB runs out of memory or when you notice performance regression due to high memory usage.

example

[[userview](#mw%5F7dbaec62-8b92-40de-93b9-b5f65ec63f74),[systemview](#mw%5F0cd90e1f-54c8-4fd5-8f67-5a6132404e3b)] = memory returns user-focused information about memory in userview and system-focused information about memory in systemview.

example

Examples

collapse all

Retrieve information about your computer memory and display the information in the Command Window.

Maximum possible array: 40212 MB (4.22e+10 bytes) * Memory available for all arrays: 40212 MB (4.22e+10 bytes) * Memory used by MATLAB: 4109 MB (4.31e+09 bytes) Physical Memory (RAM): 49150 MB (5.15e+10 bytes)

Return the user-focused memory information in a structure user. Use the structure to display the amount of memory reserved for the MATLAB process.

user = memory; disp(user.MemUsedMATLAB)

Return both the user-focused and system-focused memory information.

user = struct with fields: MaxPossibleArrayBytes: 4.2152e+10 MemAvailableAllArrays: 4.2152e+10 MemUsedMATLAB: 4.3125e+09

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

Access the Available field of the PhysicalMemory structure to display the amount of available physical memory on the computer.

disp(sys.PhysicalMemory.Available)

Output Arguments

collapse all

User-focused memory information, returned as a structure.userview has three fields:

Field Name Field Value
MaxPossibleArrayBytes Size of the largest contiguous free memory block, which is an upper bound on the size of the largest array MATLAB can create at this time.This field's value is the smaller of these two values: The largest contiguous memory block found in the MATLAB virtual address spaceThe total available system memoryTo see how many array elements this number represents, divide by the number of bytes in the array class. For example, for a double array, divide by 8. The actual number of elements MATLAB can create is always smaller than this number.
MemAvailableAllArrays Total memory available to hold data. The amount of memory available is guaranteed to be at least as large as this value.This field's value is the smaller of these two values: The total available MATLAB virtual address spaceThe total available system memory
MemUsedMATLAB Total system memory reserved for the MATLAB process.

System-focused memory information, returned as a structure.systemview has three fields:

Field Name Field Value
VirtualAddressSpace Scalar structure with the fields Available andTotal. The value of the Available field is the amount of available virtual memory for the MATLAB process.The value of the Total field is the amount of total virtual memory for the MATLAB process.
SystemMemory Scalar structure with the field Available. The value of the Available field is the amount of available system memory, which includes the amount of available physical memory and the amount of available swap file space on the computer.
PhysicalMemory Scalar structure with the fields Available andTotal. The value of the Available field is the amount of available physical memory (RAM) on the computer. You can use this value as a measure of how much data you can access without the need for the paging file on disk.The value of the Total field is the amount of total physical memory on the computer.

Limitations

More About

collapse all

memory displays these values in the Command Window. All reported values are of type double and are expressed in bytes.

In addition to the values, MATLAB also might display this statement:

MATLAB computes the size of Memory used by MATLAB by walking the MATLAB process memory structures and summing all of the sections that have physical storage allocated in memory or in the paging file on disk.

The actual memory information might be different from the information captured when the function was called. Results depend on your computer hardware and the time-varying load on your computer.

Reserved addresses are set aside in the process virtual address space for some specific future use. These reserved addresses reduce the size of Memory available for all arrays and can reduce the size of the current or future value of Maximum possible array.

For example, at MATLAB startup, part of the MATLAB virtual address space is reserved by the Java® Virtual Machine (JVM®) and cannot be used for storing MATLAB arrays.

Extended Capabilities

Version History

Introduced in R2008a