欢迎来到天天文库
浏览记录
ID:15764553
大小:71.00 KB
页数:10页
时间:2018-08-05
《各种matlab运行时out of memory问题处理方法(全)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、outofMemory问题处理方法简单总结一下:1.增加虚拟内存2.采用PACK3.条件允许的话采用64位系统4.采用3GBswitch5.优化程序,减少变量6.如果必有必要,不要启动java虚拟机,采用matlab-no...直接显示outofmemory。我尝试了很多办法,都是无济于事,您上面介绍的几种办法我都试过了,不知道为什么,还是不行。有一篇文章是这么写的,您看看行吗1.查找matlab根路径.在matlab命令行中敲入:matlabroot显示根路径,如:C:MATLAB72.查看当前Java虚拟机最大堆内存,敲入:java.lang.R
2、untime.getRuntime.maxMemory3.查看Java虚拟机版本.敲入:version-java4.在$MATLABbin$ARCH路径下新建java.opts文件.$MATLAB是根路径,例如C:MATLAB7$ARCH是系统架构.例如win32,则在C:MATLAB7binwin32下新建java.opts文件.5.用记事本打开java.opts文件,对于不同的版本的Java虚拟机,输入:ThefollowingtableshowsthedefaultsettingsMATLABusesforversionsoftheJ
3、VM:JVM InitialHeapSize MaxHeapSize1.6.0 -Xms64m -Xmx128m(32-bit) -Xmx196m(64-bit)1.5.0 -Xms64m -Xmx96m (32-bit) -Xmx128m(64-bit)1.4.2 -Xms16m -Xmx96m1.3.1 -Xms16000000 -Xmx64000000
4、1.2.2 -Xms16000000 -Xmx640000001.1.8 -ms16000000 -mx64000000例如我的Java是1.4.2,在java.opts文件写入-Xmx96m,保存就ok啦如果输入错误就报错:warning:FailedtostarttoJavaVirtualmachine6.重启matlab,敲入java.lang.Runtime.getRuntime.maxMemory显示最大内存改变,设置成功.使用xlswrite或者fprintf将数据写到text或者excel文件中使用PACK:PAC
5、K可以将matlab中的变量导出到磁盘中,以增加可用内存。减少变量的内存开销:清除工作间不必要的变量。 64位架构:采用64位的软硬件架构,目前实验室条件下不可行。3GB切换(3GBswitch):由于在windows上运行matlab时,如果内存的使用超过约1.7G左右就要出现这种错误,而无论你有多大的内存也没用。幸好现在在WindowsXP上,MATLAB现在支持3GB切换(3GBswitch)启动选项(bootoption),配置额外的1GB的可寻址内存到每个程序上。这增加了你可以储存到MATLABworkspace中资料的总量约到2.7GB。
6、这相当于33亿的精度值。此新增的内存区块和MATLAB使用剩下的(内存)并不是连续的,所以你不能建立一个数组来填满此空间。 具体做法:修改C:Boot.ini文件如下 timeout=30SimWe个人空间 default=multi(0)disk(0)rdisk(0)partition(2)WINNT multi(0)disk(0)rdisk(0)partition(2)WINNT="????"/3GB 注意后面的/3GB就是后加上的。重新启动系统再次运行matlab。Usingthe3GBSwitchonWindowsSystemsM
7、icrosoftWindowsXPsystemscanallocate3GB(insteadofthedefault2GB)toprocesses,ifyousetanappropriateswitchintheboot.inifileofthesystem.MathWorksrecommendsthatyouonlydothiswithWindowsXPSP2systemsorlater.Thisgivesanextra1GBofvirtualmemorytoMATLAB,notcontiguouswiththerestofthememory.Thi
8、senablesyoutostoremoredata,butnotlargerarrays,a
此文档下载收益归作者所有