在我本機我都是使用MyEclipse啓動tomcat,生產服務器上是創建了tomcat服務,做了一個導出excel的功能,很耗內存,在本機MyEclipse上擴大了內存,沒問題。而在服務器上就報OOM異常了,於是在/bin/catalina.bat文件裏修改內存,發現不起作用。
還是要回到題目提出的問題,tomcat6.exe與startup.bat的區別(我使用的版本還是6)。
1、這兩個都可以啓動tomcat,但tomcat6.exe必須安裝了服務(如何創建服務參考:tomcat創建一個windows服務)才能啓動,而startup.bat不需要
2、另一個區別就是他們啓動所使用的Java內存環境配置是不同的。這個區別就是導致的我的問題的出現
我在服務器上是啓動的tomcat服務,而tomcat服務就是使用的tomcat6.exe,
在Windows下如果使用startup.bat啓動的 就需要在catalina.bat裏修改內存
@echo off
set JAVA_OPTS=%JAVA_OPTS% -server -Xms2048m -Xmx2048m -XX:MaxNewSize=1024m -XX:PermSize=2048M -XX:MaxPermSize=2048m
使用tomcat6.exe啓動的 點擊tomcat6w.exe,會彈出一個界面窗口,點擊Java選項卡,直接修改即可
然後重啓tomcat服務
參考文章:tomcat 啓動內存設置