tomcat增加内存

第一步:打开tomcat的catalina.bat文件,在开头处,增加:

SET CATALINA_OPTS= -Xms2048m -Xmx4096m -XX:MaxNewSize=512m -XX:MaxPermSize=256m
set JAVA_OPTS=-Xms2048m -Xmx4096m -XX:PermSize=128M -XX:MaxPermSize=256m

@echo off

注解:

-Xms 为jvm启动时分配的初始内存 比如-Xms200m,表示分配200M
-Xmx 为jvm运行分配的最大内存 比如-Xms500m,表示jvm进程最多只能够占用500M内存
-Xss 每个线程堆栈的大小 一般情况下256K是足够了。影响了此进程中并发线程数大小
-XX PermSize=64M JVM初始分配的非堆内存
-XX MaxPermSize=128M JVM最大允许分配的非堆内存,按需分配

第二步:重启tomcat,然后打开cmd,输入命令jvisualvm,查看监控下内存
tomcat增加内存_第1张图片

第三步:点击tomcat
tomcat增加内存_第2张图片

出现上面的参数,说明tomcat内存增加成功


2020-3-18新增:

今天我想给已设置为Windows服务的tomcat增加内存时,发现上面的方法不生效,于是我网上又找了一种方法,直接设置初始值和最大值也不行,好像是因为我改了服务名造成的,tomcat8w.exe修改内存要服务名是tomcat8才行
tomcat增加内存_第3张图片
后面又试了一种在注册表设置内存,但我的注册表没有Apache Software Foundation这个文件

HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions
添加值为
-Xrs Xms=500m Xmx=800m

-XX:PermSize=256m

-XX:MaxPermSize=256m

tomcat增加内存_第4张图片
后来我在下面路径找到了我的tomcat服务,修改了ImagePath,在后面添加“–JvmMs=512 --JvmMx=4096 --JvmSs=1024”才行(我的是多线程定时任务,所以JvmSs设置的大一些)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\elevatorweb

tomcat增加内存_第5张图片

你可能感兴趣的:(JVM调优,tomcat)