diff --git "a/docs/java/jvm/GC\350\260\203\344\274\230\345\217\202\346\225\260.md" "b/docs/java/jvm/GC\350\260\203\344\274\230\345\217\202\346\225\260.md" index b9475b08ddd7b03fe821a940c8e9bd5984efbda2..917a337ca6bd5bb4fea6eee84777b783662d646b 100644 --- "a/docs/java/jvm/GC\350\260\203\344\274\230\345\217\202\346\225\260.md" +++ "b/docs/java/jvm/GC\350\260\203\344\274\230\345\217\202\346\225\260.md" @@ -9,11 +9,11 @@ ### 堆参数 -![img](https://ask.qcloudimg.com/http-save/yehe-1130324/975rk4d0wx.jpeg?imageView2/2/w/1620) +![堆参数][1] ### 回收器参数 -![img](https://ask.qcloudimg.com/http-save/yehe-1130324/34nzellt71.jpeg?imageView2/2/w/1620) +![垃圾回收器参数][2] 如上表所示,目前**主要有串行、并行和并发三种**,对于大内存的应用而言,串行的性能太低,因此使用到的主要是并行和并发两种。并行和并发 GC 的策略通过 `UseParallelGC `和` UseConcMarkSweepGC` 来指定,还有一些细节的配置参数用来配置策略的执行方式。例如:`XX:ParallelGCThreads`, `XX:CMSInitiatingOccupancyFraction` 等。 通常:Young 区对象回收只可选择并行(耗时间),Old 区选择并发(耗 CPU)。 @@ -21,11 +21,11 @@ > 备注:在Java8中永久代的参数`-XX:PermSize` 和`-XX:MaxPermSize`已经失效。 -![img](https://ask.qcloudimg.com/http-save/yehe-1130324/urw285pczz.jpeg?imageView2/2/w/1620) +![项目中垃圾回收器常用配置][3] ### 常用组合 -![img](https://ask.qcloudimg.com/http-save/yehe-1130324/ff8ues5crb.jpeg?imageView2/2/w/1620) +![垃圾回收器常用组合][4] ## 常用 GC 调优策略 @@ -55,4 +55,9 @@ **策略5:**注意: 如果满足下面的指标,**则一般不需要进行 GC 优化:** -> MinorGC 执行时间不到50ms; Minor GC 执行不频繁,约10秒一次; Full GC 执行时间不到1s; Full GC 执行频率不算频繁,不低于10分钟1次。 \ No newline at end of file +> MinorGC 执行时间不到50ms; Minor GC 执行不频繁,约10秒一次; Full GC 执行时间不到1s; Full GC 执行频率不算频繁,不低于10分钟1次。 + +[1]: ./../../../media/pictures/jvm/java_jvm_heap_parameters.png +[2]: ./../../../media/pictures/jvm/java_jvm_garbage_collector_parameters.png +[3]: ./../../../media/pictures/jvm/java_jvm_suggest_parameters.png +[4]: ./../../../media/pictures/jvm/java_jvm_compose_garbage_collector.png \ No newline at end of file diff --git a/media/pictures/jvm/java_jvm_compose_garbage_collector.png b/media/pictures/jvm/java_jvm_compose_garbage_collector.png new file mode 100644 index 0000000000000000000000000000000000000000..5f8729c52942a3790468dce1c8a3081cc017f5a2 Binary files /dev/null and b/media/pictures/jvm/java_jvm_compose_garbage_collector.png differ diff --git a/media/pictures/jvm/java_jvm_garbage_collector_parameters.png b/media/pictures/jvm/java_jvm_garbage_collector_parameters.png new file mode 100644 index 0000000000000000000000000000000000000000..6116bfb60cf426377f5ac25731ba9c41b5cb54a8 Binary files /dev/null and b/media/pictures/jvm/java_jvm_garbage_collector_parameters.png differ diff --git a/media/pictures/jvm/java_jvm_heap_parameters.png b/media/pictures/jvm/java_jvm_heap_parameters.png new file mode 100644 index 0000000000000000000000000000000000000000..06d906c87ad0ba1b4bdc016f318845e906d53a47 Binary files /dev/null and b/media/pictures/jvm/java_jvm_heap_parameters.png differ diff --git a/media/pictures/jvm/java_jvm_suggest_parameters.png b/media/pictures/jvm/java_jvm_suggest_parameters.png new file mode 100644 index 0000000000000000000000000000000000000000..55ca4f42c3ccce1010244bdd0ea9502b1b6a61ba Binary files /dev/null and b/media/pictures/jvm/java_jvm_suggest_parameters.png differ