栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

线上CPU高问题排查与解决

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

线上CPU高问题排查与解决

背景:

最近新入职一家公司,多个服务需要每天定时重启才能保证正常使用。一直没有人解决(搞不懂为啥不解决)

1、top命令或者其他找出占用cpu top pid

2、jstat pid 打印堆栈

3、pid转16进制,去生成的文件搜索

结果是gc线程

jstat -gc 12345 + 时间间隔

无限gc

4、jmap -dump:format=b,file=/xxx/dump.hprof pid 或者其他格式都可

5、下载文件用visualVM打开分析

然后定位到是groovy部分的问题,说实话这东西不够直观,全屏直觉(哈哈)

问题代码

 解决方案:个人对groovy比较熟

========================================================================= 

jfinal框架,spring可以用ioc
import groovy.lang.GroovyClassLoader;
import groovy.lang.Script;


public interface GroovyCompiler {
    default Class