2012-08-10 93 views
0

我的Java EE應用程序在主機服務器上運行得很好,但它使用了很多堆空間。允許堆空間是64MB。每次我的應用使用多於64 MB堆時,我都會暫停我的主機帳戶。我認爲主機提供商沒有爲我的應用設置最大堆空間,這就是爲什麼我沒有得到outOfMemoryException達到>64MB爲tomcat設置最大堆空間

我有我自己的tomcat實例,我可以配置tomcat配置。 我的問題是 - 我如何設置我的tomcat實例允許的最大堆空間,以便在達到極限時拋出outOfMemoryException? 這樣我的託管帳戶不會被暫停。

這裏是catlina.batcatlina.sh

我在哪裏必須使這些文件的變化?

+1

這已經討論了很多次,例如見http://stackoverflow.com/questions/286007/how-to-tune-tomcat-5-5-jvm-memory-settings-without-using-the-configuration-progr – 2012-08-10 13:26:21

回答

1

您有一個變量,稱爲JAVA_OPTS

添加到它的參數-Xmx1g

替換:set JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"

用:設置JAVA_OPTS =%JAVA_OPTS%-Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file =「%CATALINA_BASE% \ CONF \ logging.properties」 -Xmx1g

1

它是setenv.sh將由catalina.sh被檢測:

JVM_ARGS = 「 - Xmx64m」

問候

菲利普

2

增加堆空間很簡單,添加一個命令行開關的JVM:如果你想兆

-Xmx2g 

2克爲2GB,:512米---> -Xmx512m

相關問題