2011-03-25 69 views
0

可能重複:
java.lang.OutOfMemoryError: Java heap space
How to deal with 「java.lang.OutOfMemoryError: Java heap space」 error (64MB heap size)爪哇 - 堆內存

能否請你告訴我,我怎麼能提高內部的Java堆內存?

+9

我可以在google那在不到10秒內。試試'-Xmx'選項。 – svens 2011-03-25 15:23:31

+0

看起來,你應該[找](http://stackoverflow.com/questions/1596009/java-lang-outofmemoryerror-java-heap-space)。 – mre 2011-03-25 15:24:41

回答

4

使用java -Xms<initial heap size> -Xmx<maximum heap size>

manual page

該值必須是1024的倍數大於2 MB。追加字母k或K表示千字節,字母m或M表示兆字節,字母g或G表示千兆字節,或字母t或T表示千兆字節。

+0

我應該如何指定括號內的尺寸?你能舉個例子嗎? – Simon 2011-03-25 15:28:14

+0

我不得不說永久性內存大小:-XX:MaxPermSize = Chris 2011-03-25 15:28:41

+0

像我們的webapps一樣:-Xms256m -Xmx1024m -XX:MaxPermSize = 256m – Chris 2011-03-25 15:29:21

0

可能你的意思是增加JVM可以分配的初始或最大堆內存。這隻能在啓動時完成(即,當您的JVM啓動時)。

JVM接受通常稱爲jvmargs的參數,讓您可以控制JVM實例的各個方面。要指定最小(起始)和最大堆內存,可以使用-XmsXmxjvmargs。

指定jvmargs的實際過程取決於你如何啓動你的java程序。如果您是通過命令行啓動您的程序,你可以使用以下模式:

java -Xms<initial> -Xmx<maximum> <mainClass> <args>

大小可以MB或GB來指定,例如:

java -Xms256M -Xmx2G ...