Memory information
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.
The memory
function is available only on Microsoft®
Windows® platforms.
[
returns user-focused information about memory in userview
,systemview
] = memoryuserview
and
system-focused information about memory in systemview
.
Retrieve information about your computer memory and display the information in the Command Window.
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.
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)
3.4986e+09
Return both the user-focused and system-focused memory information.
[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]
Access the Available
field of the PhysicalMemory
structure to display the amount of available physical memory on the computer.
disp(sys.PhysicalMemory.Available)
5.4366e+10
userview
— User-focused memory informationUser-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:
To see how many array elements this number
represents, divide by the number of bytes in the array class. For example,
for a |
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:
|
MemUsedMATLAB | Total system memory reserved for the MATLAB process. |
systemview
— System-focused memory informationSystem-focused memory information, returned as a structure.
systemview
has three fields:
Field Name | Field Value |
---|---|
VirtualAddressSpace | Scalar structure with the fields
|
SystemMemory | Scalar structure with the field |
PhysicalMemory | Scalar structure with the fields
|
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 block
Memory available for all
arrays
: Total memory available to hold data
Memory used by
MATLAB
: Total system memory reserved for the MATLAB process
Physical 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.
You have a modified version of this example. Do you want to open this example with your edits?