关于matlab调用数据库时发生内存不够java.lang.OutOfMemoryError

来源:互联网 发布:淘宝达人直播哪里打开 编辑:程序博客网 时间:2024/06/05 00:08
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:

设定初始化使用Java虚拟机最大内存为192M,也可以设定为其他值。 
-Xmx 这个参数是设定使用的最大内存 
-Xms 这个参数是设定使用的最小内存 
两个参数可以同时使用,也可单独使用。 

JVM    Initial Heap                           Size Max Heap Size
1.7.0   -Xms64m                                 -Xmx256m
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
原创粉丝点击