最近上线的getofflinemessage的应用,上线后,运行该应用的进程时不时使用了60%-70%的CPU,远远超过这个进程预期计算量。
用jstack pid,看这一瞬间所有的线程都在干嘛,多看几次,如果多次出现某个线程都在干一件事,那么说明这块比较占CPU,去检查这块的代码是否有性能问题。
用这个方法果然找到getofflinemessage的应用在使用String.subString的方法的时候,按照.NET的用户使用,导致了死循环,修改代码后问题解决。
CPU高的排查方法
猜你喜欢
转载自fredlong.iteye.com/blog/1738883
今日推荐
周排行