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.
[[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
.
Examples
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)
- Limited by System Memory (physical + swap file) available.
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
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
- The
memory
function is available only on Microsoft® Windows® platforms.
More About
memory
displays these values in the Command Window. All reported values are of type double
and are expressed in bytes.
Maximum possible array
: Size of the largest contiguous free memory blockMemory available for all arrays
: Total memory available to hold dataMemory used by MATLAB
: Total system memory reserved for the MATLAB processPhysical Memory (RAM)
: Total physical memory (RAM) on the computer
In addition to the values, MATLAB also might display this statement:
Limited by System Memory (physical + swap file) available.
If the statement applies to
Maximum possible array
, then there is insufficient system memory to allow for the mapping of all virtual addresses in the largest available block of the MATLAB process.If the statement applies to
Memory available for all arrays
, then there is insufficient system memory to allow for the mapping of all available virtual addresses in the MATLAB process.
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