线上java程序CPU占用过高问题排查

top 命令查看CPU、内存等使用情况

top

定位问题线程

ps -mp pid -o THREAD,tid,time

[root@web-test ~]# 

ps -mp 12571 -o THREAD,tid,time

ps -mp 17480 -o THREAD,tid,time

USER     %CPU PRI SCNT WCHAN  USER SYSTEM   TID     TIME
root      0.5   -    - -         -      -     - 10:29:26
root      0.0  19    - futex_    -      -  8723 00:00:00
root      0.0  19    - futex_    -      -  8724 00:00:03
root      0.0  19    - futex_    -      -  8725 00:17:53
root      0.0  19    - futex_    -      -  8726 00:00:06
root      0.0  19    - futex_    -      -  8727 00:00:11
root      0.0  19    - futex_    -      -  8728 00:00:00
root      0.0  19    - futex_    -      -  8729 00:00:00
root      0.0  19    - futex_    -      -  8730 01:18:57
root      0.0  19    - futex_    -      -  8731 01:04:51
root      0.0  19    - sk_wai    -      -  8733 00:05:05
root      0.0  19    - futex_    -      -  8737 00:02:01
root      0.3  19    - futex_    -      -  8738 07:16:38
root      0.0  19    - futex_    -      -  8739 00:22:09
root      0.0  19    - futex_    -      -  8740 00:00:01
root      0.0  19    - futex_    -      - 32035 00:00:00

查看问题线程堆栈

将线程id转换为16进制

[root@DEV-L002323 ~]#  printf "%x\n" 12575
311f

2222

jstack查看线程堆栈信息

jstack 12571 | grep 311f

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容