Java项目服务器cpu占用100%解决办法

1、使用命令top查看cpu进程,发现tomcat占用cpu使用率过高

Java项目服务器cpu占用100%解决办法

可以看到服务器负载很高,tomcat CPU使用已达到接近300%,内存20%。

2、把进程的栈dump到文件里,以便后面的分析

jstack 22764 > cpu0827.log

3、看看这个进程里面哪些线程在占用cpu

top -p 22764 -H

Java项目服务器cpu占用100%解决办法

4、查看问题线程堆栈

printf "%x\\n" 22978

59c2

5.在cpu日志里找PID=59c2的线程

Java项目服务器cpu占用100%解决办法

6.分析原因

看日志,很明显是org.hibernate.internal.util.collections.IdentityMap.concurrentEntries (...)这里"卡住"了。


分享到:


相關文章: