忽略Java堆空间Xmx Xms参数
我有一个.JAR,它显然占用了太多内存,并抛出了一个异常“Java堆空间”(或类似的东西) 因此,我尝试通过CMD运行.JAR,如下所示:忽略Java堆空间Xmx Xms参数,java,parameters,garbage-collection,cmd,heap-memory,Java,Parameters,Garbage Collection,Cmd,Heap Memory,我有一个.JAR,它显然占用了太多内存,并抛出了一个异常“Java堆空间”(或类似的东西) 因此,我尝试通过CMD运行.JAR,如下所示: C:\MyFolder>javaw -jar MyJar.jar -Xms64m -Xmx128m 这并没有解决问题。同样的错误。 现在,当我检查windows任务管理器中的“进程”选项卡时,我注意到我的jar进程的内存比我要求的要少得多(与在没有参数的情况下运行它相同) 为什么它忽略了参数 另外,我认为异常是在进程达到100mb内存使用时抛出的。G
C:\MyFolder>javaw -jar MyJar.jar -Xms64m -Xmx128m
这并没有解决问题。同样的错误。
现在,当我检查windows任务管理器中的“进程”选项卡时,我注意到我的jar进程的内存比我要求的要少得多(与在没有参数的情况下运行它相同)
为什么它忽略了参数
另外,我认为异常是在进程达到100mb内存使用时抛出的。GC是否可能正在尝试释放内存,这就是问题的原因?我可以为GC设置任何参数来防止这种情况发生吗
谢谢,马尔基:)命令
javaw -jar MyJar.jar -Xms64m -Xmx128m
将使用-Xms。。。和-Xmx。。。作为“main(String[]args)”方法的参数。必须在-jar部分之前向JVM传递参数:
javaw -Xms64m -Xmx128m -jar MyJar.jar
当我们执行“java-version”时,可以看出这一点的原因:
您的参数-Xms。。。和-Xmx。。。是JVM的选项。“…抛出一个异常“Java堆空间”(或类似的东西)。”如何…有帮助。实际抛出的异常是什么?
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)