【问题标题】:How to increase Heap size of JVM [duplicate]如何增加JVM的堆大小[重复]
【发布时间】:2011-09-21 02:51:49
【问题描述】:

我收到以下错误:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
        at SQLite.Vm.step(Native Method)
        at SQLite.Database.get_table(Database.java:314)
        at SQLite.JDBC2z.JDBCStatement.executeQuery(JDBCStatement.java:120)
        at SQLite.JDBC2z.JDBCStatement.executeQuery(JDBCStatement.java:168)
        at TestData.readData(TestData.java:21)
        at TestData.main(TestData.java:41)

【问题讨论】:

    标签: java


    【解决方案1】:

    以下是几个可用于更改堆大小的选项。

    -Xms<size>        set initial Java heap size
    -Xmx<size>        set maximum Java heap size
    -Xss<size>        set java thread stack size
    


    java -Xmx256m TestData.java
    

    【讨论】:

      【解决方案2】:

      Java 命令行参数

      -Xms: initial heap size
      -Xmx: Maximum heap size
      

      如果您使用的是 Tomcat。更新CATALINA_OPTS环境变量

      export CATALINA_OPTS=-Xms16m -Xmx256m;
      

      【讨论】:

        【解决方案3】:

        使用 -Xms=[size] -Xmx -XX:MaxPermSize=[size] -XX:MaxNewSize=[size] 启动程序

        例如-

        -Xms512m -Xmx1152m -XX:MaxPermSize=256m -XX:MaxNewSize=256m
        

        【讨论】:

          【解决方案4】:

          在调用 java 时使用-Xmx 命令行参数。

          http://download.oracle.com/javase/6/docs/technotes/tools/windows/java.html

          【讨论】:

            【解决方案5】:

            使用 -Xms1024m -Xmx1024m 来控制你的堆大小(1024m 仅用于演示,具体数字取决于你的系统内存)。将最小和最大堆大小设置为相同通常是最佳实践,因为 JVM 不必在运行时增加堆大小。

            【讨论】:

            • 确切的意思是 -Xms1024m -Xmx1024m 还是实际的物理内存?
            【解决方案6】:

            -XmxSIZE

            例如: -Xmx1024M

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2011-07-24
              • 2010-11-29
              • 1970-01-01
              • 2013-01-01
              • 2012-04-04
              • 2016-09-09
              • 1970-01-01
              相关资源
              最近更新 更多