JAVA_OPTS用于增加堆大小

25

我想增加我的堆大小。我如何使用JAVA_OPTS来做到这一点。我得到了以下错误,可能是由于堆大小过低引起的。

UNEXPECTED TOP-LEVEL ERROR:
java.lang.OutOfMemoryError: Java heap space
    at java.util.Arrays.copyOfRange(Arrays.java:3209)
    at java.lang.String.<init>(String.java:215)
    at java.lang.StringBuilder.toString(StringBuilder.java:430)
    at com.android.dx.rop.type.Prototype.withFirstParameter(Prototype.java:370)
    at com.android.dx.rop.code.Rops.ropFor(Rops.java:1210)
    at com.android.dx.cf.code.RopperMachine.run(RopperMachine.java:478)
    at com.android.dx.cf.code.Simulator$SimVisitor.visitConstant(Simulator.java:692)
    at com.android.dx.cf.code.BytecodeArray.parseInstruction(BytecodeArray.java:763)
    at com.android.dx.cf.code.Simulator.simulate(Simulator.java:95)
    at com.android.dx.cf.code.Ropper.processBlock(Ropper.java:684)
    at com.android.dx.cf.code.Ropper.doit(Ropper.java:639)
    at com.android.dx.cf.code.Ropper.convert(Ropper.java:252)
    at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:256)

@AmitBhargava 在阅读后我问了这个问题。我正在命令行上构建代码,所以我想要在全局范围内设置这个变量。你知道如何在环境(exports)中设置它吗? - dead programmer
不确定如何在Android中实现此操作,但是在普通的Java中,您可以在使用“java”命令时设置这些选项。 - Chetter Hummin
1个回答

54

你应该能够使用在这篇帖子中找到的信息。

-Xmszzzm

其中 zzz 是您的最小大小。

-Xmxzzzm

zzz代表你的最大尺寸。

JAVA_OPTS="-Xms128m -Xmx512m"

你可以在这里查找更多VM args信息

如何在全局环境中设置它取决于您的操作系统。你使用的是哪个操作系统?

编辑:我现在看到了“ubuntu”标签。

你只需要将JAVA_OPTs行放置在etc/environment中。一旦修改了etc/environment,您需要退出并重新登录以使更新后的环境变量生效。


OPTs有完整的全称吗?我的意思是它只是“可选参数”的缩写,还是其他什么意思?我们需要设置几个OPTs,例如Maven和Catalina,我们也为它们设置了opts。我知道它的目的,我只想知道它的全称。提前致谢。 - Archit
1
如果我猜的话,我会说这只是“选项”的速记。 - Jon O
好的,“OPTs”看起来很酷,代表“选项”。再次感谢Jon。 :) - Archit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接