1、首先找到最耗时的进程id
top
2、再查找此进程内最消耗cpu的线程
top -Hp 17207
3、把线程id转成16进制,以便查找
<span class="hljs-keyword">printf <span class="hljs-string">"%x\n" <span class="hljs-number">17342
</span></span></span>
4、打印jvm线程栈
<span class="hljs-selector-tag">jstack 17207 > <span class="hljs-selector-tag">a<span class="hljs-selector-class">.tmp
</span></span></span>
5、查找线程栈
<span class="hljs-selector-tag">vim <span class="hljs-selector-tag">a<span class="hljs-selector-class">.tmp
</span></span></span>
红色箭头指示的就是此线程当前正在运行的方法
百闻不如一见,百见不如一做,只有做了,才知道问题出现在哪儿,才能去解决问题。
Original: https://www.cnblogs.com/shuai7boy/p/13155812.html
Author: shuai7boy
Title: 【转】查找jvm最耗时的函数
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/533767/
转载文章受原作者版权保护。转载请注明原作者出处!