【问题标题】:Java heap space Xmx Xms parameters ignoredJava 堆空间 Xmx Xms 参数被忽略
【发布时间】:2011-03-06 20:05:26
【问题描述】:

我的 .JAR 显然占用了太多内存,并引发异常“Java 堆空间”(或类似的东西)。

所以我尝试像这样通过 CMD 运行 .JAR:

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

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

为什么会忽略参数?

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

谢谢,马尔基 :)

【问题讨论】:

  • "...抛出异常“Java 堆空间”(或类似的东西)。” 如何....有帮助。抛出的实际异常是什么?

标签: java parameters garbage-collection cmd heap-memory


【解决方案1】:

命令

javaw -jar MyJar.jar -Xms64m -Xmx128m

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

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 的选项。

【讨论】:

    猜你喜欢
    • 2012-08-01
    • 1970-01-01
    • 2017-02-22
    • 1970-01-01
    • 2021-06-26
    • 1970-01-01
    • 1970-01-01
    • 2013-08-28
    • 2015-07-07
    相关资源
    最近更新 更多