memory
内存信息
说明
memory
在命令行窗口中显示关于计算机内存量和 MATLAB® 正在使用的内存量的信息。当 MATLAB 内存不足或由于内存使用量高而导致性能下降时,您可以使用 memory
来检查内存详细信息。
memory
函数仅适用于 Microsoft® Windows® 平台。
[
在 userview
,systemview
] = memoryuserview
中返回面向用户的内存信息,在 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]
访问 PhysicalMemory
结构体的 Available
字段,以显示计算机上的可用物理内存量。
disp(sys.PhysicalMemory.Available)
5.4366e+10
输出参量
userview
— 面向用户的内存信息
结构体
面向用户的内存信息,以结构体形式返回。userview
有三个字段:
字段名称 | 字段值 |
---|---|
MaxPossibleArrayBytes | 最大连续可用内存块的大小,这是此时 MATLAB 可以创建的最大数组大小的上限。 此字段的值是以下两个值中的较小者:
要查看此数目表示多少数组元素,请除以数组类中的字节数。例如,对于 |
MemAvailableAllArrays | 可用于保存数据的内存总量。可用的内存量保证至少与此值一样大。 此字段的值是以下两个值中的较小者:
|
MemUsedMATLAB | 为 MATLAB 进程保留的系统内存总量。 |
systemview
— 面向系统的内存信息
结构体
面向系统的内存信息,以结构体形式返回。systemview
有三个字段:
字段名称 | 字段值 |
---|---|
VirtualAddressSpace | 包含两个字段
|
SystemMemory | 包含字段 |
PhysicalMemory | 包含两个字段
|
详细信息
显示的内存信息
memory
在命令行窗口中显示以下值。所有报告的值都属于 double
类型,并以字节表示。
Maximum possible array
:最大连续可用内存块的大小Memory available for all arrays
:可用于保存数据的总内存Memory used by MATLAB
:为 MATLAB 进程保留的系统内存总量Physical Memory (RAM)
:计算机上的物理内存 (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® 虚拟机 (JVM®) 保留,不能用于存储 MATLAB 数组。
扩展功能
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
版本历史记录
在 R2008a 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)