配置tomcat内存大小全过程(windows、linux)
作者:天黑请闭眼
本文详细介绍了Java虚拟机(JVM)内存参数的设置方法,包括初始堆内存(-Xms)和最大堆内存(-Xmx),以及非堆内存(PermSize和MaxPermSize)的配置,同时,提供了在Windows和Linux服务器上配置JVM内存的具体步骤,并介绍了如何查看配置是否生效以及解决配置无效的问题
一、参数说明
-Xms
: JVM初始分配的堆内存-Xmx
: JVM最大允许分配的堆内存,按需分配-XX:PermSize
: JVM初始分配的非堆内存-XX:MaxPermSize
: JVM最大允许分配的非堆内存,按需分配
补充:
1、JVM初始分配的堆内存由-Xms指定,默认是物理内存的1/64
2、JVM最大分配的堆内存由-Xmx指定,默认是物理内存的1/4
3、默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制
4、空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制
因此服务器一般设置-Xms、-Xmx 相等以避免在每次GC 后调整堆的大小
二、windows服务器配置内存
1、进入tomcat的bin目录,找到catalina.bat
文件
2、打开catalina.bat
,在@echo off
下新增以下配置(内存大小可自行调整)
set JAVA_OPTS=-server -Xms512m -Xmx512m -XX:PermSize=512M -XX:MaxPermSize=1024M
3、配置完成重启tomcat
三、linux服务器配置内存
1、进入tomcat的bin目录,找到catalina.sh
文件
2、打开catalina.sh
,新增以下配置(内存大小可自行调整)
JAVA_OPTS="-server -Xms200m -Xmx200m -XX:PermSize=124m -XX:MaxPermSize=256m -XX:MaxNewSize=256m"
3、配置完成重启tomcat
四、查看内存配置是否生效
方式一:重启tomcat,如果看到以下内容,说明配置成功(部分情况即使配置成功也有可能没有打印以下信息,这时可以使用ps -ef|greo XXX
命令查看进程信息)
方式二:使用ps -ef|greo XXX
命令查看进程信息
五、配置无效的情况
如果在tomcat配置多个JAVA_OPTS
,配置位置最后的一项生效,其他靠前的配置不生效
如下,这时内存的配置是不生效的,但远程调试的配置是生效的
如下,这时远程调试的配置是不生效的,但是内存的配置生效的
六、在tomcat配置JAVA_OPTS配置多个功能
示例一:
示例二:
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。