Tomcat 高级调优
1、查看tomcat 状态
- 浏览器输入地址
http://localhost:8080/manager/status
以tomcat 7 为例
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="admin-gui,manager-gui"/>
主要看那些参数
Free memory: 15.69 MB 空闲内存
Total memory: 44.92 MB 默认内存
Max memory: 245.56 MB 最大内存
threads: 200
2. 启动优化
/opt/tomcat7/bin 把catalina.sh 的97行进行修改
export JAVA_OPTS="-server -Xms1600M -Xmx1600M -Xss512k -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=31 -XX:+UseConcMarkSweepGC
查看是否生效
ps -ef | grep tomcat jmap –heap 进程号(tomcat的进程号)
3、Tomcat 并发优化
/opt/tomcat7/conf下的server.xml文件中节点的配置优化,记得先备份
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="600"
minSpareThreads="100"
maxSpareThreads="500"
acceptCount="700"
connectionTimeout="20000"
redirectPort="8443" />
参数分析
maxThreads:最大线程数,即同时处理的任务个数,默认值为200
minSpareThreads :最小备用线程数,tomcat启动时的初始化的线程数,默认10
maxSpareThreads :最大备用线程数
acceptCount:当处理任务的线程数达到最大时,接受排队的请求个数,默认100
4、Tomcat 内存优化
查看%TOMCAT_HOME%\logs文件夹下,日志文件是否有内存溢出错误
判断 :java.lang.OutOfMemoryError: Java heap space 解决办法 :
“%TOMCAT_HOME%\bin\catalina.sh”文件,在文件开头增加如下设置:
JAVA_OPTS=-Xms2048m -Xmx2048m
java.lang.OutOfMemoryError: PermGen space 解决办法:
“%TOMCAT_HOME%\bin\catalina.sh”文件,在文件开头增加如下设置:
export JAVA_OPTS=-Xms256m -Xmx256m
-XX:PermSize=128M
-XX:MaxNewSize=256m
- XX:MaxPermSize=256m