ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux CPU占用率过高时问题排查

2021-03-18 23:05:03  阅读:217  来源: 互联网

标签:regex java 14 Pattern util 过高时 Linux 占用率 110199


参考:

https://blog.csdn.net/yunzhonghefei/article/details/89207243

https://blog.csdn.net/u013467442/article/details/88957485

1、jstack需要使用与进程一致的用户才能执行

2、查看CPU占用率高的进程:top

cpu高达100.0us , 确定 pid 为 110199 的进程导致。

3、查看进程下占用CPU较高的线程:ps p 进程号 -L -o pcpu,pid,tid,time

ps p 110199 -L -o pcpu,pid,tid,time

%CPU   PID    TID    TIME
18.7 110199  42096 14:42:30
41.7 110199  66438 14:39:08
41.8 110199  66440 14:39:55
42.8 110199  66491 14:38:57
41.3 110199  66515 14:27:08
41.3 110199  66611 14:23:05
41.3 110199  66612 14:22:59
41.5 110199  66638 14:24:53
41.3 110199  66639 14:21:53
37.6 110199  67920 12:12:33

比如最高的一组 %CPU占42.8   PID为110199   TID为66491  产生时间为14:38:57

4、将获取的线程号(十进制数)转换成十六进制
        printf "%x\n" 66491
        结果:103bb

5、结合进程号和线程号,利用jstack查到异常代码所在行:jstack -l 进程号 | grep 十六进制的线程号 -A 10
        jstack -l 110199 | grep 0x103bb -A 10
        结果:

[irfs@localhost bin]$ ./jstack -l 110199| grep 0x103bb -A 10
"http-nio-8082-exec-17" #2471 daemon prio=5 os_prio=0 tid=0x00007f3d3400f800 nid=0x103bb runnable [0x00007f3ef1547000]
   java.lang.Thread.State: RUNNABLE
        at java.util.regex.Pattern$Curly.match1(Pattern.java:4300)
        at java.util.regex.Pattern$Curly.match(Pattern.java:4236)
        at java.util.regex.Pattern$Slice.match(Pattern.java:3972)
        at java.util.regex.Pattern$Start.match(Pattern.java:3461)
        at java.util.regex.Matcher.search(Matcher.java:1248)
        at java.util.regex.Matcher.find(Matcher.java:637)
        at xx.ExcelToHtml.convert(ExcelToHtml.java:126)
        at sun.reflect.GeneratedMethodAccessor186.invoke(Unknown Source)
[irfs@localhost bin]$ 

定位到ExcelToHtml.java:126 有死循环导致。

 

 

 

 

标签:regex,java,14,Pattern,util,过高时,Linux,占用率,110199
来源: https://blog.csdn.net/u014644574/article/details/114992493

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有