一、配置tomcat
conf/server.xml修改配置:
maxConnections、maxThreads、acceptCount三大配置,分别表示最大连接数,最大线程数、最大的等待数
<Connector port="8080" maxConnections="600" maxThreads="600" acceptCount="4000" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
二、配置JVM
Windows下 Tomcat/bin/catalina.bat 新增:
set JAVA_OPTS="-server -Xms1024M -Xmx1024M -XX:PermSize=128M -XX:MaxPermSize=512M -Xss512KB"
Linux下 Tomcat/bin/catalina.sh 新增:
JAVA_OPTS="-server -Xms1024M -Xmx1024M -XX:PermSize=128M -XX:MaxPermSize=512M -Xss512KB"
配置说明(按需按配置增加)
1、堆内存分配
堆内存分配不足,Tomcat启动时或运行中会报内存泄露(不足),java.lang.OutOfMemoryError :Java heap space
-server:一定要作为第一个参数,在多个CPU时性能佳
-Xms:Heap初始值,使用的最小内存,cpu性能高时此值应设的大一些
-Xmx:java heap最大值,使用的最大内存
JVM最大分配的堆内存由-Xmx指定,默认是物理内存的1/4,一般设置-Xms、-Xmx 相等以避免在每次垃圾回收(GC)后调整堆的大小。
-Xss:设置每个线程的堆栈(Stack)大小
-Xss 1024 这使得每增加一个线程(thread)就会立即消耗1M内存,最佳值是128K,默认值是512k。
2、非堆内存分配
-XX:PermSize: JVM初始分配的非堆内存
-XX:MaxPermSize:设定最大内存的永久保存区域