我是靠谱客的博主 火星上小白菜,最近开发中收集的这篇文章主要介绍matlab 停用java_matlab java.lang.OutOfMemoryError解决方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Matlab中调用weka时,常常出现Out

of Memory现象,表明Java虚拟机内存不够用了.可以增加最大内存设置.

1.

查找matlab根路径.在matlab命令行中敲入:matlabroot

显示根路径,如:C:Program

FilesMATLABR2010a

2.查看当前Java虚拟机欲用的最大堆内存,即机器的总内存减去系统已经使用的内存,

敲入:java.lang.Runtime.getRuntime.maxMemory

查看当前Java虚拟机的总内存,敲入:java.lang.Runtime.getRuntime.totalMemory

查看当前Java虚拟机中仍可利用的自由内存:java.lang.Runtime.getRuntime.freeMemory

三者的关系是:maxMemory>totalMemory>freeMemory

3.查看Java虚拟机版本.敲入:version

-java

4.在

$MATLABbin$ARCH 路径下新建java.opts文件.

$MATLAB是根路径,例如C:MATLAB7

$ARCH是系统架构.例如win64,则在C:Program

FilesMATLABR2010abinwin64下新建java.opts文件.

5.用记事本打开java.opts文件,

对于版本是1.2到1.5的Java虚拟机,输入:

-Xmx268435456

对于版本是1.1.8的JVM,输入

maxHeapSize =

268435456

保存.

这里268435456是新设置的JVM的最大堆内存.可以改成其他值.

我的内存大小是10G,设置maxMemory为4G,即设置-Xmx4096m

6.

重启matlab,敲入java.lang.Runtime.getRuntime.maxMemory

显示最大内存改变,设置成功.

而其余两者没有什么改变.

注意:

在matlab->file->preference->General->Java Heap

Memory,可以设置Java Heap Memory大小,其最大可以设置的值是内存大小的1/4。如果想用的Java Heap

Memory大于内存的1/4,无法利用Preference进行设置。

采用上述在Matlab安装目录下添加java.opts的方法,可以任意设置Java

Heap Memory的大小,当设置的大小小于内存的1/4时,Preference中Java Heap

Memory面板显示的是相应的值;当大于内存的1/4时,面板显示值是其最大值,但实际上使用的却是我们在java.opts中设置的大小。设置Java

Heap Memory面板的主要目的是防止一些人任意改变,破坏操作系统.

整理自:

最后

以上就是火星上小白菜为你收集整理的matlab 停用java_matlab java.lang.OutOfMemoryError解决方法的全部内容,希望文章能够帮你解决matlab 停用java_matlab java.lang.OutOfMemoryError解决方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部