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监控方法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值