Solr占用CPU持续过高原因查询
線上java進程占用CPU忽高忽低,就是說一下子40%左右,一下子減下去。
這臺服務器只有Solr,所以估計是Solr在GC。
# jstat -gcutil 2072 2s
JVM名詞解釋參考java內存泄漏的定位與分析
一些術語的中文解釋:
? ? ? ? ?S0C:年輕代中第一個survivor(幸存區)的容量 (字節)
? ? ? ? ?S1C:年輕代中第二個survivor(幸存區)的容量 (字節)
? ? ? ? ?S0U:年輕代中第一個survivor(幸存區)目前已使用空間 (字節)
? ? ? ? ?S1U:年輕代中第二個survivor(幸存區)目前已使用空間 (字節)
? ? ? ? ? EC:年輕代中Eden(伊甸園)的容量 (字節)
? ? ? ? ? EU:年輕代中Eden(伊甸園)目前已使用空間 (字節)
? ? ? ? ? OC:Old代的容量 (字節)
? ? ? ? ? OU:Old代目前已使用空間 (字節)
? ? ? ? ? PC:Perm(持久代)的容量 (字節)
? ? ? ? ? PU:Perm(持久代)目前已使用空間 (字節)
? ? ? ? ?YGC:從應用程序啟動到采樣時年輕代中gc次數
? ? ? ? YGCT:從應用程序啟動到采樣時年輕代中gc所用時間(s)
? ? ? ? ?FGC:從應用程序啟動到采樣時old代(全gc)gc次數
? ? ? ? FGCT:從應用程序啟動到采樣時old代(全gc)gc所用時間(s)
? ? ? ? ?GCT:從應用程序啟動到采樣時gc用的總時間(s)
? ? ? ?NGCMN:年輕代(young)中初始化(最小)的大小 (字節)
? ? ? ?NGCMX:年輕代(young)的最大容量 (字節)
? ? ? ? ?NGC:年輕代(young)中當前的容量 (字節)
? ? ? ?OGCMN:old代中初始化(最小)的大小 (字節)?
? ? ? ?OGCMX:old代的最大容量 (字節)
? ? ? ? OGC:old代當前新生成的容量 (字節)
? ? ? ?PGCMN:perm代中初始化(最小)的大小 (字節)?
? ? ? ?PGCMX:perm代的最大容量 (字節) ??
? ? ? ? ?PGC:perm代當前新生成的容量 (字節)
? ? ? ? ?S0:年輕代中第一個survivor(幸存區)已使用的占當前容量百分比
? ? ? ? ? S1:年輕代中第二個survivor(幸存區)已使用的占當前容量百分比
? ? ? ? ?E:年輕代中Eden(伊甸園)已使用的占當前容量百分比
? ? ? ? ?O:old代已使用的占當前容量百分比
? ? ? ? ?P:perm代已使用的占當前容量百分比
? ? ? ?S0CMX:年輕代中第一個survivor(幸存區)的最大容量 (字節)
? ? ? ?S1CMX :年輕代中第二個survivor(幸存區)的最大容量 (字節)
? ? ? ? ECMX:年輕代中Eden(伊甸園)的最大容量 (字節)
? ? ? ? ?DSS:當前需要survivor(幸存區)的容量 (字節)(Eden區已滿)
? ? ? ? ? TT:持有次數限制
? ? ? ? ?MTT :最大持有次數限制
果然GC的非常頻繁啊
# jmap -heap 2072
查看solr的幫助信息
重啟solr,增大Xmx和Xms
# /usr/local/solr/solr/bin/solr start -m 1g
如上圖所示沒有頻繁的FGC了。
CPU占用也穩定下來。
參考信息:
Java虛擬機學習筆記
如何查看GC 及jvm配置
修改JVM的參數、Jstat、Jstack、gclog?
?JVM系列三:JVM參數設置、分析
visualvm監控jvm及遠程jvm監控方法
總結
以上是生活随笔為你收集整理的Solr占用CPU持续过高原因查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新宝来多少钱啊?
- 下一篇: gitlab报错 fatal: inde