【求助】matlab循环load文件后死机
我用的linux redhat4 64位OS8g内存
大概要循环load二千多张mat表,一共1.4g
每次都是到300多就死机了:@Q ,不知道怎么回事!:'(
请各位高手帮忙,小弟在此先谢过了!
回复 楼主 lamsychen 的帖子
错误讯息是"Out of Memory"吗? 我记得Help文件中有, 找找吧!另外LZ确定二千多资料必须同时存在吗? 实际上好像很少如此!
[ 本帖最后由 ChaChing 于 2009-1-15 20:02 编辑 ]
回复 楼主 lamsychen 的帖子
读取这么多文件,确实是个难题呀!分多次循环可否?
回复 沙发 ChaChing 的帖子
谢谢!2千多张表确实是存在的 而且几乎每张表中都要提取一些数据
没有提示就是死掉了,应该是溢出问题
因为我debug的时候在linux下查看剩余内存
每加载一张表就要用去26m左右的内存空间
8g空间load到300多张就没反应了,只有重启。。。
回复 板凳 ch_j1985 的帖子
恩!谢谢!确实很困难,每次load后clear也没有什么作用
现在只有考虑分表操作了。。。但是要根据一定的规则分成几张表要增加工作量了。。::@(
不知哪位大大有关于matlab海量数据导入的方法
不胜感激!
回复 地板 lamsychen 的帖子
LZ误会我的意思了, 可能我没表达得当!是二千多资料必须同时存在於workspace, 而且占用不同位址的空间吗?
我遇过很多工程问题, 资料亦是大的惊人, 若是一开始都读入workspace, 铁定死机!
一般都会读一档, 马上进行资料处理, 仅留下後续必须用到的, 再读下一档(此时与上一次使用同变数)!
真的我看过很多此类大资料, 都可如此处理! 其实本应如此!
回复 6楼 ChaChing 的帖子
恩。。应该是这样的每load一张表用完后就把这张表clear掉
但是我的最终目的是把这2000张表拼接成一张大表
所以按照你的意思应该到最后等于2000张表同时存在在workspace了
其实每张表都不大,我以前也处理过load一张800多兆的表,也只占了3点G的内存。。
无奈表实在太多,我现在已经开始按条件分表集合然后再操作了。
页:
[1]