2016-04-18 47 views
0

這裏有個簡單的問題。我在IntelliJ 2016.1.1Java 8編譯一個相當大的戰爭。我在Ultimate版中使用了Tomcat插件。一切都在64位Windows 8機器上運行。編譯大戰時IntelliJ內存不足錯誤

我越來越java.lang.OutOfMemory error: GC overhead limit exceeded I've increased the Xmx/Xms parameters in idea64.exe .vmoptions現在它看起來像:

-Xmx4096m 
-Xms1024m 
-XX:MaxPermSize=350m 
-XX:ReservedCodeCacheSize=240m 
-XX:+UseConcMarkSweepGC 
-XX:SoftRefLRUPolicyMSPerMB=50 
-ea 
-Dsun.io.useCanonCaches=false 
-Djava.net.preferIPv4Stack=true 
-XX:+HeapDumpOnOutOfMemoryError 
-XX:-OmitStackTraceInFastThrow 

但好像它在Java編譯器本身,所以顯然它並沒有幫助不知怎的我無法找到正確的方法聲明。 我會很感激,如果有人能告訴我如何正確地做到這一點。

感謝,並有一個愉快的一天

回答

0

看看這個鏈接可以幫助你: What are the Xms and Xmx parameters when starting JVMs?

這可能導致,這是造成你的程序做失控的內存分配錯誤,它總是會導致無論您增加堆大小多少,都會出現內存不足錯誤。在這種情況下,你需要看你的代碼,而不是你的項目選項。

+0

謝謝,但是我正在尋找一個答案如何在編譯WAR文件時在上個intelliJ版本中指定這些參數。 IntelliJ在內部運行javac,所以一般來說,Xms和Xmx並沒有什麼幫助。另外我只編譯我的程序,不運行它,所以tomcat甚至不啓動。無論如何謝謝 –