jdk1.8中废弃了-XX:PermSize和-XX:MaxPermSize的长期态(存放常量、静态变量区)配置,
多了一个元数据区(Metadata Space:默认为内存的0.2%):所以设置元数据区巨细的参数也酿成对应的MetaspaceSize和MaxMetaspaceSize了。
set JAVA_OPTS=-server -Xms2048M -Xmx2048M -Xss2m -XX:MetaspaceSize=256m -XX:MaxNewSize=1024m
开启tomcat后,使用jps检察端口占用情况:
bootstrap便是tomcat的进程号
然后用jmap -heap 20372检察详情
上图显示证明配置已经告成. 注:jps和jmap命令必需要配置好java的环境变量.
2.配置优化(并发)
打开tomcat安置目录\conf\server.xml文件,定位到这一行:
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
这一行就是我们的tomcat容器性能参数设置的处所,它一般城市有一个默认值,这些默认值是远远不够我们的使用的,我们来看颠末变动后的这一段的配置:
<Connector port="8080" protocol="HTTP/1.1" maxThreads="1000" minSpareThreads="100" acceptCount="1000" maxConnections="1000" connectionTimeout="20000" maxHttpHeaderSize="8192" tcpNoDelay="true" compression="on" compressionMinSize="2048" disableUploadTimeout="true" redirectPort="8443" enableLookups="false" URIEncoding="UTF-8" />
配置线程池:在service标签下Connector之前配置
<!-- 线程池 --> <Executor namePrefix="catalina-exec-" maxThreads="1000" minSpareThreads="100" maxIdleTime="60000" maxQueueSize="Integer.MAX_VALUE" prestartminSpareThreads="false" threadPriority="5" className="org.apache.catalina.core.StandardThreadExecutor"/>
线程池配置完成后在Connector中引用:
<Connector executor="tomcatThreadPool" ...
参考博客:
https://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html
(windows下)tomcat优化--内存,并发.缓存三方面优化
,