java服务生产问题定位

应用CPU占用高,如何定位问题?

找到CPU占用高的线程:假设进程id是115

top -H -p 115

显示如下:

可以看到PID 2539 这个占用的CPU最多。2539到底是进程id,还是线程id呢?什么都不是。不过我们可以通过这个找到对应的线程。

把2539转16进制,是9eb。16进制前缀是0x。是零,不是欧。

用jstack命令找到对应的线程:

jstack 115 | grep '0x9eb' -A 50

从里面找到业务代码,然后着重看这块代码就好了。

posted on 2020-01-10 23:10  koushr  阅读(227)  评论(0编辑  收藏  举报

导航