jvm参数的设置

-server:一定要作为第一个参数,在多个CPU时性能佳 

-xms:初始化堆内存的大小

-xmx:最大堆内存的大小

-xx:PermSize:永久内存区初始化大小

-xx:MaxPermSize:永久内存区最大大小

-xx:MaxNewSize:新生成池最大大小

-Xss:每个线程的Stack大小

xms,xmx,MaxNewSize是针对head(堆)内存区的设置,一般xms和xmx设置相同,以避免每次垃圾回收的后jvm重新分配内存;MaxNewSize是设置新生代内存区的大小,当NewSize的大小和MaxNewSize的大小设置相同或只设置MaxNewSize的大小时,MaxNewSize=Xmn,其中MaxNewSize最大设置的大小为xmx/2(考虑到所有的新生代都晋升老年代的情况,一般设置为xmx的三分之一)

常见错误:OutOfMemoryError: Java heap space 

解决办法:增加xms和xmx的大小

-xx:PermSize,-xx:MaxPermSize是针对永久内存区的设置,主要用来存放Class和Meta信息

常见错误:java.lang.OutOfMemoryError: PermGen space

解决办法:增大-xx:MaxPermSize大小

并发相关参数设置

MaxThreads:tomcat最大能起的线程数,即最大并发数

MinSpareThreads:tomcat初始化启动的socket线程数,没有用户访问时也启动这么多线程等待

acceptCount:最大等待连接数,当连接数大于MaxThreads+acceptCount时,连接就会被拒绝

connectionTimeout:连接超时时间

compression:是否启用压缩 on为启用(文本数据压缩) off为不启用, force 压缩所有数据
compressionMinSize:当超过最小数据大小才进行压缩
 noCompressionUserAgents:哪些客户端发出的请求不压缩,默认是不限制
compressableMimeType:配置想压缩的数据类型,默认是 text/html,text/xml,text/plain

附上我的tomcat配置信息

<Connector port="8080"protocol="HTTP/1.1"

       connectionTimeout="20000"

       redirectPort="8443"

       maxThreads="500"

       minSpareThreads="20"

       acceptCount="100"

            compression="on"

       compressionMinSize="0"

       noCompressionUserAgents="gozilla,traviata"

        compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,application/ms*,application/vnd*,application/postscript,application/javascript,application/x-javascript,application/json,p_w_picpath/png,p_w_picpath/gif,p_w_picpath/jpeg"/>