美文网首页
catalina.bat配置的内存对Tomcat服务不起作用

catalina.bat配置的内存对Tomcat服务不起作用

作者: 催化剂 | 来源:发表于2022-07-22 08:37 被阅读0次

    参考链接:https://blog.csdn.net/weixin_42350212/article/details/122901682

    Windows环境下:

    在catalina.bat最前面加入set JAVA_OPTS=-Xms128m -Xmx350m 

    如果用startup.bat启动tomcat,OK设置生效.够成功的分配200M内存.

    但是如果不是执行startup.bat启动tomcat而是利用windows的系统服务启动tomcat服务,上面的设置就不生效了,就是说set JAVA_OPTS=-Xms128m -Xmx350m 没起作用.上面分配200M内存就OOM了..

    windows服务执行的是bin\tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置.

    解决办法:

    如果你的tomcat是注册为windows服务并且是以服务方式启动的,那么上面的方法就无效了,因为这时tomcat启动是读取注册表的参数,而不是读取批处理文件的参数,这时我们有两种方法来设置jvm参数。

    第一种比较简单,tomcat为我们提供了一个设置启动参数的窗体,双击tomcat_home/bin目录下的tomcat7w.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% emp

    -XX:PermSize=512M

    -XX:MaxPermSize=2048M

    -Xms256M 

    -Xmx10240M

    -Duser.timezone=GMT+08

    重起tomcat服务,设置生效

    相关文章

      网友评论

          本文标题:catalina.bat配置的内存对Tomcat服务不起作用

          本文链接:https://www.haomeiwen.com/subject/rsouirtx.html