malong 发表于 2006-9-20 15:53

matlab经常out of memory 如何解决?

matlab经常out of memory 如何解决?


最近运行大的矩阵运算,经常出现out of memory

看到不少网页介绍,
如果 采用clear 清空空间,还有加大虚拟内存 都是部分解决问题

还有网友推荐 清空内存命令pack,还有别的网友说要用fortran编程解决,

希望大家有更好的方法,贴出来讨论一下!

eight 发表于 2006-9-20 16:09

原帖由 malong 于 2006-9-20 15:53 发表
matlab经常out of memory 如何解决?


最近运行大的矩阵运算,经常出现out of memory

看到不少网页介绍,
如果 采用clear 清空空间,还有加大虚拟内存 都是部分解决问题

还有网友推荐 清空内存命令p ...


我也遇到同样的问题,尽管已经优化了代码,并且运行完一次就clear all,但是也无法避免。

AaronSpark 发表于 2006-9-22 07:41

如果是数据比较大,可以分块处理
并不一定要全部数据一起处理

有些变量可以先存起来

eight 发表于 2006-9-22 10:06

原帖由 ABBYABBIE 于 2006-9-22 07:41 发表
如果是数据比较大,可以分块处理
并不一定要全部数据一起处理

有些变量可以先存起来


存起来的变量仍然在工作区中,还是要占内存的。

我现在遇到的出现out of memory较多的情况是load 函数和randn函数,因为要处理的矩阵大小为61*73*61*210,分块我也考虑过,但是只对逐点处理的情况有效,如果要对相邻点一起处理,分块好像不行。另外,如此大量的数据要分块读入的话是否意味着要修改load函数?还是要对原始数据(mat文件)先分块,分成几个文件,逐个文件读?

wxf.134 发表于 2008-7-21 13:03

具体怎么解决?急急!!!!!!

w89986581 发表于 2008-7-21 15:27

vista 64位matlab

samonzhang 发表于 2009-4-16 10:40

我想了解一下出现out of memory 的原因。
我计算的电脑有2GB的内存,设置了4GB的虚拟内存。计算使用的操作系统是windows XP professional。
计算的主要变量是:12个5986×6000的矩阵,浮点数。
计算过程中用任务管理器看,发现内存使用状况没有超过2GB,但还是会出现out of memory的错误。

news 发表于 2009-4-16 16:02

运算量太大了,分解一下再算会快一点....
页: [1]
查看完整版本: matlab经常out of memory 如何解决?