我在带有32位Windows 7操作系统的Coure2Duo PC上安装了4GB Ram。我将分页大小增加到106110MB。但在完成所有这些之后,我无法显着增加最大阵列大小。
以下是规格
memory
Maximum possible array: 129 MB (1.348e+08 bytes) *
Memory available for all arrays: 732 MB (7.673e+08 bytes) **
Memory used by MATLAB: 563 MB (5.899e+08 bytes)
Physical Memory (RAM): 3549 MB (3.722e+09 bytes)
* Limited by contiguous virtual address space available.
** Limited by virtual address space available.
请尽早帮助我。我甚至无法以双重格式读取48 + MB大小的文件。
答案 0 :(得分:3)
你可以做两件事来清理MATLAB的内存。由于您使用的是32位版本的程序,因此通常限制为2GB内存。在打开程序时使用/3GB
switch可为该程序提供额外的1GB RAM。
其次,您应该考虑使用pack()
函数,该函数重新安排RAM中的变量以释放更多contiguous
内存空间。最重要的是,这会影响您打开单个阵列的能力。
请记住:您可以通过将可用内存量除以变量类型的大小来确定数组将保留多少项。 Double
变量每个占用8个字节。您的129MB可用空间应允许单个阵列中的大约1685万double
个值。
您可以使用MATLAB中包含的memory functions查看有关内存使用情况的信息。
memory
显示内存信息inmem
将显示存储在内存中的变量和函数clear
将允许您清除特定变量或函数的内存。答案 1 :(得分:0)
您可以尝试设置3GB switch,这可能会增加可能的内存。否则:切换到64位操作系统。您的系统浪费了547MB的RAM,因为它没有地址。