我在装有 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.
请尽早帮助我。我什至无法以 double 格式读取 48+MB 大小的文件。
最佳答案
您可以通过两种方式为 MATLAB 清理内存。由于您使用的是 32 位版本的程序,因此通常限制为 2GB 内存。使用 /3GB
switch打开该程序时,该程序会额外获得 1GB 的 RAM。
其次,您应该考虑使用 pack()
函数,它重新排列 RAM 中的变量以释放更多 连续
内存空间。最重要的是,这会影响您打开单个阵列的能力。
请记住:您可以通过将可用内存量除以变量类型的大小来计算出数组将包含多少项。 Double
变量每个占用 8 个字节。您的 129MB 可用空间应该允许在单个数组中包含大约 1685 万个 double
值。
您可以使用 memory functions 查看有关内存使用情况的信息包含在 MATLAB 中。
memory
显示内存信息inmem
将显示存储在内存中的变量和函数clear
将允许您清除特定变量或函数的内存。
关于arrays - 我需要增加 Maximum possible array size,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20481239/