如何增加JVM的堆大小

时间:2011-06-23 10:43:49

标签: java

  

可能重复:
  How can I increase the JVM memory?

我收到以下错误:

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)

6 个答案:

答案 0 :(得分:71)

以下几种选项可用于更改堆大小。

-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

答案 1 :(得分:13)

Java命令行参数

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

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

export CATALINA_OPTS=-Xms16m -Xmx256m;

答案 2 :(得分:10)

使用-Xms = [size] -Xmx -XX:MaxPermSize = [size] -XX:MaxNewSize = [size]

启动程序

例如 -

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

答案 3 :(得分:9)

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

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

答案 4 :(得分:5)

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

答案 5 :(得分:2)

-XmxSIZE

例如: -Xmx1024M