如何增加JVM的堆大小

Dha*_*shi 45 java

可能重复:
如何增加JVM内存?

我收到以下错误:

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)
Run Code Online (Sandbox Code Playgroud)

oli*_*olz 74

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

-Xms<size>        set initial Java heap size
-Xmx<size>        set maximum Java heap size
-Xss<size>        set java thread stack size
Run Code Online (Sandbox Code Playgroud)


java -Xmx256m TestData.java
Run Code Online (Sandbox Code Playgroud)


Ank*_*pta 14

Java命令行参数

-Xms: initial heap size
-Xmx: Maximum heap size
Run Code Online (Sandbox Code Playgroud)

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

export CATALINA_OPTS=-Xms16m -Xmx256m;
Run Code Online (Sandbox Code Playgroud)


小智 10

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

例如 -

-Xms512m -Xmx1152m -XX:MaxPermSize=256m -XX:MaxNewSize=256m
Run Code Online (Sandbox Code Playgroud)


pap*_*pap 9

通过-Xmx在调用java时使用命令行参数.

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


mic*_*liu 6

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