修改啟動腳本設置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%,預留空間給系統和其他進程。參考來源: