起因:
一次在测试环境top查看系统状况的时候,偶然发现一个java进程的cpu占用率较高,因为该程序最近不在测试阶段,应该是没有访问量的一个状态,cpu占用率却会频繁到7~15左右,对于一个没有任何请求进来的进程这肯定是不正常的。一天没写bug的我准备看下这个问题。
经过:
于是就去查看了下这个java项目的日志,接口和项目日志一条都没有打印。到这里,猜测cpu占用应该是gc进程一直在工作。因为是测试环境,没有打印出gc日志,在启动命令加上:
-XX:+PrintGCDetails -XX:+PrintGCDateStamps
再看控制台日志,果然gc发生的比较频繁:
2020-07-14T15:52:25.847+0800: [GC (Allocation Failure) [PSYoungGen: 460032K->256K(492032K)] 518970K->59226K(1016320K), 0.0060979 secs] [Times: user=0.02 sys=0.00, real=0.01 secs]
2020-07-14T15:52:36.257+0800: [GC (Allocation Failure) [PSYoungGen: 460032K->256K(492544K)] 519002K->59258K(