如何增加Java VM的堆空间在MATLAB ?

144(30天)

接受的答案

MathWorks支金宝app持团队
编辑:MathWorks支金宝app持团队 2021年10月21日
MATLAB R2010a起:
你可以使用Preferences对话框中更改此设置。有关更多信息,请参阅文档页面的Java堆内存偏好”。这可以访问如下:
1。打开帮助浏览器通过输入MATLAB命令提示符:
> >医生
2。搜索“Java堆内存的偏好”这个文档浏览器的搜索栏。
对MATLAB R2009b:早些时候,
你可以增加堆空间的Java虚拟机(VM)使用以下文件:
java.opts
请遵循下面的说明:
1)创建java。选择文件:
创建一个名为java的文本文件。选择在MATLABROOT / bin /美元拱目录。MATLABROOT MATLAB根目录和拱美元是你的系统架构,你发现输入MATLAB命令提示符:
> > matlabroot
> >计算机(“拱”)
如果你没有写访问MATLABROOT / bin /拱美元,或者如果你想要一个特定的版本,创建java。在MATLAB启动目录中选择文件。MATLAB启动目录在MATLAB可以通过执行以下命令提示符(MATLAB代码执行前):
> > pwd
如果你使用MATLAB 7.7 (R2008b)或更高版本在MAC OS系统上,MATLAB默认安装目录
/应用程序/ MATLAB_ <版本> .app
其中<版本>是MATLAB发布的版本,即。、R2008b R2009a等。访问的内容/应用程序/ MATLAB_ <版本>。应用程序目录,在Finder中,导航到应用程序和右键单击MATLAB_ <版本> .app。点击“显示包内容”,你将能够看到的内容目录。
2)确定版本的Java虚拟机(JVM)中使用:
java的内容。选择取决于您的版本的JVM。确定版本的JVM中运行,在MATLAB命令提示符输入以下:
> > java版本
注意:如果您正在执行这些操作在MATLAB 7.5 (R2007b),读这个bug报告:
3)确定将在java的价值。选择文件:
MATLAB启动时,启动Java运行时环境。MATLAB使用一组默认值为初始值和最大值(由堆管理器)。当空闲内存接近零,Java将动态地增加堆大小(Max的堆大小设置)。下面的表显示了MATLAB版本的JVM使用的默认设置:
JVM初始堆大小马克斯堆大小
1.6.0 -Xms64m -Xmx128m(32位)
-Xmx196m(64位)
1.5.0 -Xms64m -Xmx96m(32位)
-Xmx128m(64位)
1.4.2 -Xms16m -Xmx96m
1.3.1 -Xms16000000 -Xmx64000000
1.2.2 -Xms16000000 -Xmx64000000
1.1.8 -ms16000000 -mx64000000
您可以使用以下命令来获取信息的Java堆空间使用MATLAB:
> > java.lang.Runtime.getRuntime.maxMemory
> > java.lang.Runtime.getRuntime.totalMemory
> > java.lang.Runtime.getRuntime.freeMemory
用户可以手动覆盖这些值通过设置在java。选择文件。例如,包括在java以下行。选择文件最大值堆大小的值设置为256 MB的:
1.2.2 JVM的之后,在您的java。选择文件:
-Xmx256m
JVM 1.1.8的java。选择”,在您的java。选择文件:
-mx256m
这将给你256 mb的JVM内存,你可以根据需要调整参数。记住,增加Java堆的大小可能会相应减少的空间用于MATLAB数组。的更多信息,请参阅以下指南内存管理:
4)故障排除:
在某些情况下,增加Java堆大小超过一定限制会导致Java内存问题。有关更多信息,请参见此解决方案:
如果你增加Java堆大小来响应一个OutOfMemoryError: Java堆空间,得到同样的错误与更大的堆,你可能有一个内存泄漏,或者你可能会保留对Java对象的引用超出了他们的作用。Java SE故障排除指南有助于隔离问题:

答案(1)

Igor Varfolomeev
Igor Varfolomeev 2015年6月19日
虽然 2013年10月18日回答MathWor金宝appks支持团队 matlab是正确的老版本,这里的cople指出,关于最近的版本:
- - - - - - -
1。 首先,现在“马克斯Java堆内存”参数可以被改变通过一个滑块在Matlab - >首选项- > - > Java堆内存
2。 所允许的最大价值,如果这个滑块,太小,容不下你的需要,(例如R2014b只允许我将它设置为49 gb,而身体我有192 gb),它可以直接通过编辑调整
“c: \ \ %的用户名% \ AppData \漫游用户\ MathWorks \ MATLAB \ R2014b \ matlab.prf”
3所示。 用文本编辑器打开和修改“JavaMemHeapMax”价值。它应该是什么样
JavaMemHeapMax = I190000
4所示。 重启Matlab
- - - - - - -
注:
  • 因为这个首选项文件是在你AppData文件夹,你甚至不需要管理权限(与添加“java。选择“美元MATLABROOT,提到讨论的答案。
  • 检查实际值,利用Matlab (GB):
> > java.lang.Runtime.getRuntime.maxMemory e9 / 1
  • 偏好UI工作好与这个新值(谢谢,Mathwoks !)。它只是显示一个警告,它比较大,然后推荐。
4评论

登录置评。

类别

找到更多的在启动和关闭帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!