tomcat運行一個大的應用程序,常常報內存不夠的錯誤,好比java heap space outofMemoryhtml
SEVERE: Servlet.service() for servlet jsp threw exception java.lang.OutOfMemoryError: Java heap space
對於這種問題,能夠修改啓動參數來解決。java
JvmMx的值並不能想多大就多大,若是超過必定值之後,就不能啓動tomcat了。好比我將JvmMx設定爲2048,表示2G內存,啓動之後報錯以下:apache
//reporter-stderr.2014-06-11 2014-06-11 14:48:42 Commons Daemon procrun stderr initialized //commons-daemon.2014-06-11 [2014-06-11 14:48:42] [info] [ 2092] Commons Daemon procrun (1.0.15.0 32-bit) started [2014-06-11 14:48:42] [info] [ 2092] Running 'reporter' Service... [2014-06-11 14:48:42] [info] [ 2968] Starting service... [2014-06-11 14:48:42] [error] [ 4052] CreateJavaVM Failed [2014-06-11 14:48:42] [error] [ 2968] Failed to start Java [2014-06-11 14:48:42] [error] [ 2968] ServiceStart returned 4 [2014-06-11 14:48:42] [info] [ 2092] Run service finished. [2014-06-11 14:48:42] [info] [ 2092] Commons Daemon procrun finished
因此我不斷嘗試JvmMx的大小,最後設定爲1.5G,當前我服務器的內存是8Gwindows
http://www.oschina.net/translate/tomcat-performance-tuningtomcat
http://bbs.chinaunix.net/thread-3644102-1-1.html服務器
通常加在jsp
rem --------------------------------------------------------------------------- //配置參數內容,不要加載if else裏面 rem Guess CATALINA_HOME if not defined