首页 > 代码库 > 【JVM】调优笔记3-----JVM参数配置 JDK1.8

【JVM】调优笔记3-----JVM参数配置 JDK1.8

一.关于JVM参数配置,有多种途径

1.在tomcat中直接配置的

  打开tomcat的安装目录, 在bin下修改catalina.bat文件

添加如下:

set "JAVA_OPTS=-Xmx300m -Xms300m -Xmn100m -XX:SurvivorRatio=8"

在这个位置:

技术分享

启动tomcat即可起作用。

 

2.使用Myecplise,配置JVM参数

双击Tomcat,打开在如下位置,配置:

-Xmx300m
-Xms300m
-Xmn100m
-XX:SurvivorRatio=8

在如下位置即可。

技术分享

 

 然后启动项目,即可起作用。

 

 

 

二.标准配置

-Xmx300m 
-Xms300m
-Xmn100m
-XX:SurvivorRatio=8

-XX:+UseG1GC
-XX:MaxTenuringThreshold=14
-XX:ParallelGCThreads=8
-XX:ConcGCThreads=8


-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=d:/a.dump
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintHeapAtGC
-XX:+TraceClassLoading
-XX:+PrintClassHistogram

 

进行JVM的优化的这些参数

解释如下:

-Xmx300m                         最大堆大小
-Xms300m                        初始堆大小
-Xmn100m                         年轻代大小
-XX:SurvivorRatio=8              Eden区与Survivor区的大小比值,设置为8,则两个Survivor区与一个Eden区的比值为2:8,一个Survivor区占整个年轻代的1/10

-XX:+UseG1GC                      使用 G1 (Garbage First) 垃圾收集器    
-XX:MaxTenuringThreshold=14          提升年老代的最大临界值(tenuring threshold). 默认值为 15[每次GC,增加1岁,到15岁如果还要存活,放入Old区]
-XX:ParallelGCThreads=8              设置垃圾收集器在并行阶段使用的线程数[一般设置为本机CPU线程数相等,即本机同时可以处理的个数,设置过大也没有用]
-XX:ConcGCThreads=8                并发垃圾收集器使用的线程数量


-XX:+HeapDumpOnOutOfMemoryError        OOM时导出堆到文件
-XX:HeapDumpPath=d:/a.dump            导出OOM的路径
-XX:+PrintGCDetails                  打印GC详细信息
-XX:+PrintGCTimeStamps                打印CG发生的时间戳
-XX:+PrintHeapAtGC                   每一次GC前和GC后,都打印堆信息
-XX:+TraceClassLoading                 监控类的加载
-XX:+PrintClassHistogram              按下Ctrl+Break后,打印类的信息

 

 

三.我们把GC分成4种类型

1. SerialGC
参数-XX:+UseSerialGC
就是Young区和old区都使用serial 垃圾回收算法,
2. ParallelGC
参数-XX:+UseParallelGC
Young区:使用Parallel scavenge 回收算法
Old 区:可以使用单线程的或者Parallel 垃圾回收算法,由 -XX:+UseParallelOldGC 来控制
3. CMS
参数-XX:+UseConcMarkSweepGC
Young区:可以使用普通的或者parallel 垃圾回收算法,由参数 -XX:+UseParNewGC来控制
Old 区:只能使用Concurrent Mark Sweep
4. G1
参数:-XX:+UseG1GC
没有young/old区

 

JVM参数配置报错:

1.Conflicting collector combinations in option list; please refer to the release notes for the combina
报错:使用多种GC导致GC冲突

 

参考资料:

  http://blog.csdn.net/mr__fang/article/details/47723767

  http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html

  

【JVM】调优笔记3-----JVM参数配置 JDK1.8