CentOS环境下Tomcat内存调优方法
小樊
51
2025-08-30 19:24:58
一、JVM参数调优
- 内存大小:通过
-Xms(初始堆)和-Xmx(最大堆)设置,建议设置为物理内存的60%-80%,且两者保持一致以减少垃圾回收频率,如-Xms1024m -Xmx1024m。
- 垃圾回收器:选择G1(
-XX:+UseG1GC)或ParallelGC(-XX:+UseParallelGC),适合大内存应用。
- 其他参数:可设置
-XX:NewRatio(新生代与老年代比例)、-XX:SurvivorRatio(Eden区与Survivor区比例)等。
二、Tomcat配置优化
- 线程池:在
conf/server.xml中调整maxThreads(最大线程数,建议500-1000)、minSpareThreads(最小空闲线程数,建议100-200)、acceptCount(等待队列长度,建议100-200)。
- 连接器优化:启用HTTP/2(
protocol="HTTP/1.1"并添加upgrade="true")、压缩(compression="on"),禁用不必要的AJP协议。
三、系统层面优化
- 内核参数:编辑
/etc/sysctl.conf,调整net.core.somaxconn(增大连接队列)、net.ipv4.tcp_tw_reuse(启用TCP连接复用)。
- 文件描述符:编辑
/etc/security/limits.conf,增加nofile限制,如* soft nofile 65535。
- 禁用透明大页:编辑
/etc/rc.local,添加echo never > /sys/kernel/mm/transparent_hugepage/enabled。
四、监控与验证
- 工具使用:通过
top、htop、free命令监控内存使用,或使用JVisualVM、JConsole等工具分析JVM内存。
- 负载测试:使用JMeter等工具模拟高并发场景,验证优化效果。
注意事项
- 调整后需重启Tomcat生效,优先在测试环境验证。
- 避免过度优化,确保系统稳定性。