JAVA程序启动的时候都会有JVM,都会分配一个初始化内存和最大化内存给应用程序,
这个初始化内存和最大化内存在一定程度上影响应用的性能,
当应用程序使用到最大内存的时候,JVM就要进行垃圾回收动作释放被占用的一些内存,
所以需要自己调整Tomcat的JVM虚拟机内存的大小,
为了调整初始化内存和最大化内存大小,我们就需要向JVM进行声明,
一般通过-Xms和-Xmx进行设置。
分为两种情况:
1.在Windows下:
在tomcat的 bin目录下创建一个setenv.bat,并将下面的内容粘贴到setenv.bat中即可:
set JAVA_OPTS=-XX:PermSize=128M -XX:MaxPermSize=128M -Xms1024M -Xmx1024M
分析:
-XX:PermSize:内存永久保存区域;
-XX:MaxPermSize:最大内存永久保存区域;
-Xms:初始化内存;
-Xmx:最大化内存。
参数设定:
建议把-Xms和-Xmx的设置成相同的;
-Xmx与-XX:PermSize的和不可超过JVM可获得的总内存;
-XX:PermSize不可大于-Xmx。
2.在Linux下:
在tomcat的 bin目录下使用命令touch setenv.sh,创建一个setenv.bat;然后使用命令chmod 755 setenv.sh,修改文件权限,并将下面的内容粘贴到setenv.bat中即可:
CATALINA_OPTS="$CATALINA_OPTS
-Xmx1024m
-Xms1024m
-Xss1024k
-XX:MaxPermSize=128m
-XX:PermSize=64m
-server"
分析:
-Xss:每个线程的堆栈大小,不熟悉最好保留默认值