matlab 代码分析 内存溢出,matlab内存溢出的解决方案【学习笔记】

常用方法总结:

1)使用PACK:PACK可以将matlab中的变量导出到磁盘中,以增加可用内存。

2)减少变量的内存开销。

注意:增加虚拟内存的方法是不可行的。

3)64位架构:采用64位的软硬件架构。

4)3GB 切换(3GB switch):由于在windows上运行matlab时,如果内存的使用超过约1.7G左右就要出现这种错误,而无论你有多大的内存也没用。幸好现在 在Windows XP上,MATLAB现在支持3GB切换(3GB switch)启动选项(boot option),配置额外的1GB的可寻址内存到每个程序上。这增加了你可以储存到MATLAB workspace中资料的总量约到2.7 GB。这相当于33亿的精度值。此新增的内存区块和MATLAB使用剩下的(内存)并不是连续的,所以你不能建立一个数组来填满此空间。

5)更有效的优化方案调整Java虚拟机可分配的内存大小matlab java.lang.OutOfMemoryError

Java虚拟机内存不够用了.可以增加最大内存设置。

1. 查找matlab根路径.

在matlab命令行中敲入:matlabroot,显示根路径,如:C:\MATLAB7

2.查看当前Java虚拟机最大堆内存, 敲入:java.lang.Runtime.getRuntime.maxMemory 3.查看Java虚拟机版本.敲入:version -java 4.在 $MATLAB\bin\$ARCH 路径下新建java.opts文件. $MATLAB是根路径,例如C:\MATLAB7 $ARCH是系统架构.例如win32,则在C:\MATLAB7\bin\win32下新建java.opts文件. 5.用记事本打开java.opts文件, 对于不同的版本的Java虚拟机,输入: The following table shows the default settings MATLAB uses for versions of the JVM: JVM       Initial Heap Size     Max Heap Size 1.6.0     -Xms64m               -Xmx128m (32-bit)    -Xmx196m (64-bit) 1.5.0     -Xms64m               -Xmx96m   (32-bit)   -Xmx128m (64-bit) 1.4.2     -Xms16m               -Xmx96m 1.3.1     -Xms16000000          -Xmx64000000 1.2.2     -Xms16000000          -Xmx64000000 1.1.8     -ms16000000           -mx64000000 例如我的Java是1.4.2,在java.opts文件写入-Xmx96m,保存就ok啦 如果输入错误就报错:warning : Failed to start to Java Virtual machine 6. 重启matlab,敲入java.lang.Runtime.getRuntime.maxMemory 显示最大内存改变,设置成功.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值