2011-06-23 102 views
38
的堆大小

Possible Duplicate:
How can I increase the JVM memory?如何增加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) 
+1

和其他問題... –

回答

9

開始與節目-Xms = [大小] -Xmx -XX:MaxPermSize參數= [大小] -XX:MaxNewSize = [大小]

例如 -

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

以下是可用於更改堆大小的幾個選項。

-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 
11

Java命令行參數

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

如果你使用的是Tomcat。更新CATALINA_OPTS環境變量

export CATALINA_OPTS=-Xms16m -Xmx256m; 
5

使用-Xms1024m -Xmx1024m來控制你的堆大小(1024米是僅用於演示,確切數目取決於你的系統內存)。將最小和最大堆大小設置爲相同通常是最佳實踐,因爲JVM不必在運行時增加堆大小。

+0

確切的意思是-Xms1024m -Xmx1024m或實際物理內存? –