|
9 | 9 |
|
10 | 10 | ### 堆参数 |
11 | 11 |
|
12 | | - |
| 12 | +![堆参数][1] |
13 | 13 |
|
14 | 14 | ### 回收器参数 |
15 | 15 |
|
16 | | - |
| 16 | +![垃圾回收器参数][2] |
17 | 17 |
|
18 | 18 | 如上表所示,目前**主要有串行、并行和并发三种**,对于大内存的应用而言,串行的性能太低,因此使用到的主要是并行和并发两种。并行和并发 GC 的策略通过 `UseParallelGC `和` UseConcMarkSweepGC` 来指定,还有一些细节的配置参数用来配置策略的执行方式。例如:`XX:ParallelGCThreads`, `XX:CMSInitiatingOccupancyFraction` 等。 通常:Young 区对象回收只可选择并行(耗时间),Old 区选择并发(耗 CPU)。 |
19 | 19 |
|
20 | 20 | ### 项目中常用配置 |
21 | 21 |
|
22 | 22 | > 备注:在Java8中永久代的参数`-XX:PermSize` 和`-XX:MaxPermSize`已经失效。 |
23 | 23 | |
24 | | - |
| 24 | +![项目中垃圾回收器常用配置][3] |
25 | 25 |
|
26 | 26 | ### 常用组合 |
27 | 27 |
|
28 | | - |
| 28 | +![垃圾回收器常用组合][4] |
29 | 29 |
|
30 | 30 | ## 常用 GC 调优策略 |
31 | 31 |
|
|
55 | 55 |
|
56 | 56 | **策略5:**注意: 如果满足下面的指标,**则一般不需要进行 GC 优化:** |
57 | 57 |
|
58 | | -> MinorGC 执行时间不到50ms; Minor GC 执行不频繁,约10秒一次; Full GC 执行时间不到1s; Full GC 执行频率不算频繁,不低于10分钟1次。 |
| 58 | +> MinorGC 执行时间不到50ms; Minor GC 执行不频繁,约10秒一次; Full GC 执行时间不到1s; Full GC 执行频率不算频繁,不低于10分钟1次。 |
| 59 | + |
| 60 | +[1]: ./../../../media/pictures/jvm/java_jvm_heap_parameters.png |
| 61 | +[2]: ./../../../media/pictures/jvm/java_jvm_garbage_collector_parameters.png |
| 62 | +[3]: ./../../../media/pictures/jvm/java_jvm_suggest_parameters.png |
| 63 | +[4]: ./../../../media/pictures/jvm/java_jvm_compose_garbage_collector.png |
0 commit comments