优化Tomcat内存设置可从以下方面入手:
catalina.sh(Linux)或catalina.bat(Windows)中设置JAVA_OPTS,将-Xms(初始堆大小)和-Xmx(最大堆大小)设为相同值,且建议为物理内存的80%(如-Xms2g -Xmx2g),避免频繁GC。-XX:PermSize(初始非堆内存,默认物理内存1/64)和-XX:MaxPermSize(最大非堆内存,默认物理内存1/4),确保足够存放类元数据,避免PermGen space溢出。conf/server.xml中调整Connector参数:
maxThreads:最大线程数(默认200,可根据并发量调整,如500-1000)。minSpareThreads:最小空闲线程数(默认25,建议与maxThreads保持一定比例)。acceptCount:请求队列长度(默认10,建议设置为maxThreads的1.5倍)。-XX:+UseG1GC,并设置-XX:MaxGCPauseMillis控制GC停顿时间。context.xml配置PersistentManager。jmap、jvisualvm等工具监控内存使用情况,根据实际负载调整参数,避免过度分配内存。注意:修改配置后需重启Tomcat生效,且需结合服务器物理内存和应用实际负载测试验证。