【java】java应用工程,CPU过高问题排查处理

线上CPU过高可能是因为某些线程陷入死循环导致的,我们可以按照如下步骤排查:

1.  top:找到cpu占用率高的java进程id(pid)

2.  shift + h:找到进程下所有线程信息(线程id、线程所占用的cpu使用率)

3.  printf  v"%0x\n" <pid>: 记住线程id并转换为16进制形式

4  jstack <pid> |  grep  -A 10  <Thread 0x16 id>:利用java的jstack 查看java线程的信息

5  cat -n file:查看找到该线程执行到的源码信息

6. 解决问题


参考 


当CPU飙高时,它在做什么?

https://www.jianshu.com/p/90579ec3113f


Linux查看实时网卡流量的几种方式

https://www.jianshu.com/p/b9e942f3682c


如何优雅的实现文件上传或下载?

https://www.jianshu.com/p/fca34c2bf7f1

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容