简介:我最近一直在研究一个相当繁重的计算JAVA程序(ODE求解器和数值优化)。我已经实现了多线程,很快就可以访问大学里一个相当“大”的服务器来测试程序的性能。我已将程序创建为.jar文件,但我不执行此.jar文件。相反,我使用MATLAB JVM环境来使用JAVA中的特定类,直接从MATLAB执行。原因是MATLAB具有如此酷的图形功能。
当前执行方法的描述:如上所述,程序直接从MATLAB执行,方式如下:
clear all
javaaddpath('..\binJava\MyFile.jar')
import functionality.*;
import domain.*;
我开始导入文件,然后在文件中加载包(我的所有代码都在其中)。 从这里我只需执行:
myClass.execute(myInput);
问题: 如何从MATLAB更改java程序中的ram分配?
由于实现多线程已经并且将加速计算工作,我想确保一旦我借用服务器RAM就不会成为瓶颈。我想让RAM调整非常用户友好,这样我就可以直接从matlab调整ram使用到java代码,以便利用服务器的强大功能。
Litteratur survery: 简而言之,我认为能够找到主要关注使用Eclipse(或不同环境)或从终端执行.jar文件时增加RAM的选项(对我来说不是这种情况)的文书工作者。
最后评论:我甚至不确定一旦从服务器执行内存分配就会成为一个问题。硬件本身可能会控制它。我不知道 - 请与我分享您的想法和意见。 谢谢!
答案 0 :(得分:0)
您只需设置-Xmx
命令行选项即可分配更多内存。
这里似乎有一个很好的答案:
http://www.mathworks.com/matlabcentral/answers/92813
- 创建java.opts文件:
醇>在$ MATLABROOT / bin / $ ARCH目录中创建一个名为java.opts的文本文件。 $ MATLABROOT是MATLAB根目录,$ ARCH是您的系统架构,可以通过在MATLAB命令提示符下输入找到:
然后再往下走:
用户可以通过在java.opts文件中手动设置来覆盖这些值。例如,在java.opts文件中包含以下行将Max Heap Size值设置为256 MB:
对于1.2.2及更高版本的JVM,请将以下内容放在java.opts文件中:
-Xmx256m