版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/whzhaochao/article/details/84936385
- 先上图
主要问题: GC count 中Old和YoungGC在10点之前次数比较频繁
1、第一步优化
在JVM Heap图表中可以看到在10点之前UsedHeap基本上等于Max Heap,所以引起频繁的 Old GC,修改ElasticSearch配置文件config/jvm.options, 修改 -Xms2g ,-Xmx2g,默认两个都是1g。
-Xms2g
-Xmx2g
在修改-Xms2g和-Xmx2g之后重启ES可以看出 JVM Heap图表在10:05后UsedHeap 保持在1.4G以下未能达到MaxHeap1.9G,在GC Cout图表中 Old次数明显减少,但Yong次数没有变化。
原因:
- 将Xmx和Xms设置为一样大小,没有必要达到Xms后,再申请Xmx
2、第二步优化
增加-Xmn1g配置,jvm.options文件中默认没有此参数
-Xmn1g
增加-Mnx1g在10:25后重启,可以看GC Count Yong GC次数从平均每秒0.4次,降到平均每秒0.2次
原因:
Xmn是新生代的大小,过小直接影响 Yong GC次数