MATLAB 内存容量修改

[status,info]=dos('@echo off &for /f "tokens=4,5*" %i in (''tasklist ^|findstr /r /I "matlab.exe"'') do echo %j');

info(find(info=='K'))=[];
info(find(info == ',')) = [];
sprintf('Matlab used memory : %.0f KB',str2num(info))

MATLAB内存使用情况查询



在用MATLAB做图像处理时 经常会碰到内存溢出的情况,可用如下方法修改,使得MATLAB的内存容量最大:

 

出自matlab:
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
显示最大内存改变,设置成功

你可能感兴趣的:(MATLAB 内存容量修改)