繁体   English   中英

Java堆空间Xmx Xms参数被忽略

[英]Java heap space Xmx Xms parameters ignored

我有一个显然占用太多内存的.JAR,并抛出异常“Java堆空间”(或类似的东西)。

所以我尝试通过CMD运行.JAR,如下所示:

C:\MyFolder>javaw -jar MyJar.jar -Xms64m -Xmx128m

那并没有解决问题。 同样的错误。 现在,当我检查Windows任务管理器中的进程选项卡时,我注意到我的jar进程比我要求的内存少得多(与没有参数运行它相同)。

为什么忽略参数?

此外,我认为异常是在进程达到100mb内存使用量的时候抛出的。 GC是否有可能试图释放内存,这是导致问题的原因? 我可以为GC设置任何参数来防止这种情况吗?

谢谢,Malki :)

命令

javaw -jar MyJar.jar -Xms64m -Xmx128m

将使用-Xms ...和-Xmx ...作为“main(String [] args)”方法的参数。
参数传递给 JVM必须在罐子部分之前进行传递:

javaw -Xms64m -Xmx128m -jar MyJar.jar

当我们执行“java -version”时,可以看到原因:

Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)

您的参数-Xms ...和-Xmx ...是JVM的选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM