找出线上java应用中的哪段代码在大量耗费性能

你发现你的机器的cpu usage达到了100%,并且发现都是你的java应用导致的;但是,这个应用里具体哪段代码在这样吃性能呢?

以下来自一个同事的分享:

1. 先找出吃性能的线程: top -H -p pid,找出最耗性能的线程ID(最左列)

2. 获得线程ID的16进制表示: printf ‘0x%x\n’ 线程ID

3. 然后生成一下jstack,比如 kill -3 pid

4. 在生成的jstack里搜索 线程ID的16进制表示即可

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.