【问题标题】:Increasing Heap Size增加堆大小
【发布时间】:2012-06-17 20:21:57
【问题描述】:

我已经阅读了 stackoverflow 中的各种帖子,并试图弄清楚如何增加我的 JVM 的堆大小。 我知道命令-vmargs -Xms256m -Xmx4096m 会增加堆大小。 但它不起作用,或者我不知道如何使用该命令。我读到我应该转到 JVM 文件夹并键入此命令,但我无法在我的虚拟机中找到 Java。

我还读到我可以通过更改 eclipse.ini 文件中的值来做到这一点,但我无法在我的文件中找到与 heapsize 相关的任何内容。我可以做一个 grep java 并发现我的堆大小是 324m。

有人可以指导我应该在哪里以及如何增加堆大小吗?

【问题讨论】:

  • 您是否尝试增加 Eclipse 的堆大小?还是另一个 Java 应用程序之一?会不会是this question的副本?
  • 这些是您需要传递给 Java 的参数,无论是用于 Java 应用程序还是用于 Eclipse。其次,我建议将 -Xmx4096M 减少到 2048M,因为某些平台有限制并且可能没有足够的内存来分配!

标签: java scala memory garbage-collection heap-memory


【解决方案1】:

这取决于您尝试启动的应用程序。

如果您使用 java 可执行文件从命令行运行您的 java 代码,那么您可以简单地将这些参数作为参数传递给 java 可执行文件。

java -Xms256m -Xmx2096m <main class>

如果你想增加 Eclipse 的 JVM 内存,那么你可以通过在文件末尾添加以下行来更新 eclipse.ini。

-Xms256m
-Xmx4906m

对于任何使用 JVM 的软件(如 tomcat、weblogic 等),您需要按照他们的文档来设置 JVM 参数。通常,他们会提供启动脚本,您可以在其中设置 JVM 参数。

【讨论】:

    【解决方案2】:

    如果您使用的是 Scala,按照标签的建议,您使用 -J 作为必须传递给 Java 的参数的前缀。像这样:

    scala -J-Xms256m -J-Xmx4096m
    

    这将以 256 MB 的初始内存和 4 GB 的最大内存运行解释器。

    scalacfsc 可以使用相同的东西。

    现在,如果您使用 java 运行东西,您只需直接传递它们:

    java -Xms256m -Xmx4096m <some other stuff>
    

    如果您使用的是其他东西,请说出您使用的是什么,否则我们无法帮助您。

    【讨论】:

      【解决方案3】:

      你可以试试这个:

      java -Xms64m -Xmx256m HelloWorld
      

      HelloWorld 替换为您的应用程序,其他参数根据您的喜好定制!

      来源:http://viralpatel.net/blogs/jvm-java-increase-heap-size-setting-heap-size-jvm-heap/

      【讨论】:

        猜你喜欢
        • 2014-10-24
        • 2012-12-07
        • 2013-01-26
        • 2014-05-13
        • 2015-11-22
        • 2010-11-24
        • 2012-07-14
        • 2016-04-23
        • 2012-09-20
        相关资源
        最近更新 更多