修改启动脚本设置JVM内存参数
/opt/tomcat/bin/catalina.sh(或/etc/default/tomcatX/tomcat.service),添加JAVA_OPTS配置:export JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:MaxMetaspaceSize=256m -XX:+UseG1GC"
-Xms和-Xmx:建议设置为相同值(如512MB-4GB),避免堆内存动态扩展的性能损耗。-XX:MaxMetaspaceSize:Java 8+用于替代永久代,建议设置为物理内存的1/4。-XX:+UseG1GC:推荐使用G1垃圾回收器,提升大内存场景下的GC效率。调整线程池参数
conf/server.xml中<Connector>标签:<Connector port="8080"
maxThreads="200"
minSpareThreads="25"
maxConnections="10000"
acceptCount="100" />
maxThreads:根据并发需求调整(建议100-500),避免过高导致内存压力。minSpareThreads:保持默认25或适当增加,确保快速响应请求。监控与调优
jmap -heap <pid>查看堆内存使用情况,验证配置是否生效。top/htop监控Tomcat进程内存占用,确保不超过物理内存的80%。注意事项
-Xmx设置超过物理内存的80%,预留空间给系统和其他进程。参考来源: