参考:https://blog.csdn.net/wangfei0904306/article/details/59741236

参考: http://www.open-open.com/lib/view/open1401931407228.html

文中的PermSize、MaxPermSize已经不用要去掉,MaxTenuringThreshold最大只能为15

参考:http://www.th7.cn/Program/java/201303/127995.shtml

windows系统在bin/catalina.bat文件中加入下面参数,对JVM进行优化  linux系统在catalina.sh文件下修改

在echo Using CATALINA_BASE:   “%CATALINA_BASE%”的上面一行加下面代码: 

set JAVA_OPTS=
-server 
-Xms4096M 
-Xmx4096M   #-Xms与-Xmx设成一样的值,避免JVM因为频繁的GC导致性能大起大落
-Xss512k 
-XX:+AggressiveOpts 
-XX:+UseBiasedLocking  
-XX:+DisableExplicitGC 
-XX:MaxTenuringThreshold=15 
-XX:+UseConcMarkSweepGC 
-XX:+UseParNewGC  
-XX:+CMSParallelRemarkEnabled 
-XX:+UseCMSCompactAtFullCollection 
-XX:LargePageSizeInBytes=128m  
-XX:+UseFastAccessorMethods 
-XX:+UseCMSInitiatingOccupancyOnly 
-Djava.awt.headless=true

 echo Using JAVA_OPTS:    %JAVA_OPTS%

 

 linux系统在catalina.sh文件下修改

JAVA_OPTS=\'
-server 
-Xms4096M 
-Xmx4096M   
-Xss512k 
-XX:+AggressiveOpts 
-XX:+UseBiasedLocking  
-XX:+DisableExplicitGC 
-XX:MaxTenuringThreshold=15 
-XX:+UseConcMarkSweepGC 
-XX:+UseParNewGC  
-XX:+CMSParallelRemarkEnabled 
-XX:LargePageSizeInBytes=128m  
-XX:+UseFastAccessorMethods 
-XX:+UseCMSInitiatingOccupancyOnly 
-Djava.awt.headless=true\';

-Xmx:java heap最大值,使用的最大内存
上面两个值是分配JVM的最小和最大内存,取决于硬件物理内存的大小,建议均设为物理内存的一半。
-XX:PermSize:设定内存的永久保存区域
-XX:MaxPermSize:设定最大内存的永久保存区域
-XX:MaxNewSize:
-Xss 15120 这使得JBoss每增加一个线程(thread)就会立即消耗15M内存,而最佳值应该是128K,默认值好像是512k.
+XX:AggressiveHeap 会使得 Xms没有意义。这个参数让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。
-Xss:每个线程的Stack大小
-verbose:gc 现实垃圾收集信息
-Xloggc:gc.log 指定垃圾收集日志文件
-Xmn:young generation的heap大小,一般设置为Xmx的3、4分之一
-XX:+UseParNewGC :缩短minor收集的时间
-XX:+UseConcMarkSweepGC :缩短major收集的时间

 

2、Tomcat连接参数的优化,主要是针对吞吐量做优化:

参考  http://blog.csdn.net/centre10/article/details/50639693

修改conf/server.xml文件,把原来

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

改成

<Connector port=”8080″
protocol=”org.apache.coyote.http11.Http11NioProtocol”
maxHttpHeaderSize=”8192″
maxThreads=”1000″
minSpareThreads=”100″
maxSpareThreads=”1000″
minProcessors=”100″
maxProcessors=”1000″
enableLookups=”false”
compression=”on”
compressionMinSize=”1024″
noCompressionUserAgents=”gozilla, traviata”
compressableMimeType=”text/html,text/xml,text/javascript,text/css,text/plain”
connectionTimeout=”25000″
URIEncoding=”utf-8″
acceptCount=”1000″
redirectPort=”8443″
disableUploadTimeout=”true” />

版权声明:本文为steven-snow原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/steven-snow/p/9262025.html