Tomcat的啟動分為startupo.bat啟動和注冊為windows服務的啟動,下面一一說明。
1.startup.bat啟動
在tomcat_home/bin目錄下找到catalina.bat,用文本編輯器打開,加上下面一行:
set JAVA_OPTS= -Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPermSize=256M
解釋一下各個參數:
-Xms1024M:初始化堆內存大小(注意,不加M的話單位是KB)
-Xmx1029M:最大堆內存大小
-XX:PermSize=256M:初始化類加載內存池大小
-XX:MaxPermSize=256M:最大類加載內存池大小
-XX:MaxNewSize=256M:這個還不清楚哈,有知道的說聲
還有一個-server參數,是指啟動jvm時以服務器方式啟動,比客戶端啟動慢,但性能較好,大家可以自己選擇。
2.windows服務啟動
如果你的tomcat是注冊為windows服務並且是以服務方式啟動的,那么上面的方法就無效了,因為這時tomcat啟動是讀取注冊表的參數,而不是讀取批處理文件的參數,這時我們有兩種方法來設置jvm參數。
第一種比較簡單,tomcat為我們提供了一個設置啟動參數的窗體,雙擊tomcat_home/bin目錄下的tomcat6w.exe,如圖
下方的Initial memory pool就是初始化堆內存大小,Maximun memory pool是最大堆內存大小。
而要設置Perm Gen池的大小就要在Java Option里面加參數了,在里面加上:
-Dcatalina.base=%tomcat_home%
-Dcatalina.home=%tomcat_home%
-Djava.endorsed.dirs=%tomcat_home%\endorsed
-Djava.io.tmpdir=%tomcat_home%\temp
-XX:PermSize=256M
-XX:MaxPermSize=256M
-XX:ReservedCodeCacheSize=48M
-Duser.timezone=GMT+08
(PS:網上說每一行后面不要有空格,沒試過)
第二種方法是打開注冊表->HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat6\Parameters\Java(路徑可能有一點點差別)

修改Options的值,把剛才上面那些參數加進去就OK了。(別忘了先備份一下注冊表)