JVM调优常用参数

内存调优

**设置heap大小 
这个非常重要,通常只要这里设置够了,就不会出现溢出。 

-Xms4096m 

-Xmx4096m 

或者 
- Xms4g - Xmx4g 
这两个值的大小应该一样,这样减少转换时初始化时间 
64位一般可支持的最大内存是多少?如果物理内存为32G(一般为物理内存的90%,也就是27\~28G) 
新生代和老年代的大小 
这个参数相当于设置等值的最小、最大新生代,NewRatio这个设置新、老代比例,NewRatio=1代表,两个相等大小 
- Xmn1g 
这个值如果不设的话,默认只有6M
 


**设置持久代大小 

同理,这两个值应该是一样的(jdk7) 

-XX:PermSize=512m 

-XX:MaxPermSize=512m 

JDK8起用这两个参数 

-XX:MetaspaceSize=512m 

-XX:MaxMetaspaceSize=512m

**设置code cache 

-XX:ReservedCodeCacheSize=1024m 

-XX:+UseCompressedOops

GC调优

并发GC线程设置 
服务器总的线程数/jvm实例数就行了,如果一台服务器上有4个jvm。比如2颗6核超线程(超线程后1个核相当于2个线程)就是24/4=6调,置ParallelGCThreads时最大不要超过6就行了。 
Mac笔记本4核8线程,一个jvm,ParallelGCThreads=CPU 数量/JVM 数量 
-XX:ParallelGCThreads=8

CMS基本配置

配置了cms,-XX:+UseParNewGC这个参数就不用设了,因为设了cms这个就自动打开了 

-XX:+UseConcMarkSweepGC 

-XX:CMSInitiatingOccupancyFraction=75 

-XX:+UseCMSInitiatingOccupancyOnly

日志基本配置

-Xloggc:/var/log/gc-sms.log 

-XX:+PrintGCDateStamps 

-XX:+PrintGCDetails

例子

linkedin的一个例子如下 
// JVM sizing options 
-Xms40g -Xmx40g -XX:MaxDirectMemorySize=4096m -XX:PermSize=256m -XX:MaxPermSize=256m 


// Young generation options 

-XX:NewSize=6g -XX:MaxNewSize=6g -XX:+UseParNewGC -XX:MaxTenuringThreshold=2 -XX:SurvivorRatio=8 -XX:+UnlockDiagnosticVMOptions -XX:ParGCCardsPerStrideChunk=32768 


// Old generation options 

-XX:+UseConcMarkSweepGC -XX:CMSParallelRemarkEnabled -XX:+ParallelRefProcEnabled -XX:+CMSClassUnloadingEnabled -XX:CMSInitiatingOccupancyFraction=80 -XX:+UseCMSInitiatingOccupancyOnly 


// Other options 

-XX:+AlwaysPreTouch -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -XX:-OmitStackTraceInFastThrow 


参考:[http://www.importnew.com/11336.html]

我的常用配置 
-Xms14g 
-Xmx14g 
-Xmn5g 
-XX:MetaspaceSize=512m 
-XX:MaxMetaspaceSize=512m 
-XX:ReservedCodeCacheSize=1024m 
-XX:+UseCompressedOops 
-XX:+UseConcMarkSweepGC 
-XX:ParallelGCThreads=8 
-XX:CMSInitiatingOccupancyFraction=75 
-XX:+UseCMSInitiatingOccupancyOnly 
-Xloggc:/var/log/gc-sms.log 
-XX:+PrintGCDateStamps 
-XX:+PrintGCDetails

转载:https://blog.csdn.net/evane1890/article/details/78941968

猜你喜欢

转载自blog.csdn.net/panjinxiang4217/article/details/80059369