CPU高的排查方法

最近上线的getofflinemessage的应用,上线后,运行该应用的进程时不时使用了60%-70%的CPU,远远超过这个进程预期计算量。

用jstack pid,看这一瞬间所有的线程都在干嘛,多看几次,如果多次出现某个线程都在干一件事,那么说明这块比较占CPU,去检查这块的代码是否有性能问题。

用这个方法果然找到getofflinemessage的应用在使用String.subString的方法的时候,按照.NET的用户使用,导致了死循环,修改代码后问题解决。

猜你喜欢

转载自fredlong.iteye.com/blog/1738883