- 先上圖
主要問題: 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次數