tomcat配置堆linux,Tomcat配置JVM参数优化

大型系统采用Tomcat默认设置是无法满足生产环境对性能的需求,现在给出Tomcat jvm参数优化参考配置

linux版本

4核及以上JAVA_OPTS="-Xms8912m -Xmx8912m -XX:PermSize=200M -XX:MaxPermSize=1024M -XX:MaxDirectMemorySize=1024M -XX:SurvivorRatio=6 -XX:NewRatio=4 -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:PretenureSizeThreshold=5242880 -XX:MaxTenuringThreshold=50 -XX:CMSInitiatingOccupancyFraction=80 -XX:CMSFullGCsBeforeCompaction=5 -XX:+UseTLAB"

4核以下JAVA_OPTS="-Xms8912m -Xmx8912m -XX:PermSize=200M -XX:MaxPermSize=1024M -XX:MaxDirectMemorySize=1024M -XX:SurvivorRatio=6 -XX:NewRatio=4 -XX:+DisableExplicitGC -XX:PretenureSizeThreshold=5242880 -XX:MaxTenuringThreshold=50 -XX:+UseTLAB"

Windows版本

4核及以上set JAVA_OPTS=-Xms8912m -Xmx8912m -XX:PermSize=200M -XX:MaxPermSize=1024M -XX:MaxDirectMemorySize=1024M -XX:SurvivorRatio=6 -XX:NewRatio=4 -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:PretenureSizeThreshold=5242880 -XX:MaxTenuringThreshold=50 -XX:CMSInitiatingOccupancyFraction=80 -XX:CMSFullGCsBeforeCompaction=5 -XX:+UseTLAB

4核以下set JAVA_OPTS=-Xms8912m -Xmx8912m -XX:PermSize=200M -XX:MaxPermSize=1024M -XX:MaxDirectMemorySize=1024M -XX:SurvivorRatio=6 -XX:NewRatio=4 -XX:+DisableExplicitGC -XX:PretenureSizeThreshold=5242880 -XX:MaxTenuringThreshold=50 -XX:+UseTLAB

将以上脚本写入tomcat安装目录\bin\catalina.sh或catalina.bat中的有效脚本第一行。

参数说明:

Xms:堆初始内存大小

Xmx:堆最大内存大小

XX:PermSize方法区初始内存大小

XX:MaxPermSize方法区最大内存大小

XX:MaxDirectMemorySize虚拟机可以使用本地内存大小

内存分配规则:

1.堆初始内存和堆最大内存一样大。

2.方法区初始内存不小于200M,方法区最大内存不大于1G。

3.服务器内存分配比例

如果Tomcat和数据库安装在同一台服务器上,堆、虚拟机可以使用本地内存、本地内存、数据库比例为5:1:2:2。以16G内存为例,堆8G(方法区最大1G,初始200M)、虚拟机可以使用本地内存1.6G、本地内存3.2G、数据库3.2G,剩余内存可以分配给堆和数据库。

如果Tomcat单独安装在同一台服务器上,堆、虚拟机可以使用本地内存、本地内存比例为6:1:3。以16G内存为例,堆9G(方法区最大1G,初始200M)、虚拟机可以使用本地内存1.6G、本地内存4.8G,剩余内存可以分配给堆。

以上规则可以根据实际情况做调整。

该配置方案需要运行在至少4核CPU(最好16核CPU)的服务器上、jdk1.6u40以后版本。

你可能感兴趣的:(tomcat配置堆linux)