1、使用命令top查看cpu進程,發現tomcat佔用cpu使用率過高

可以看到服務器負載很高,tomcat CPU使用已達到接近300%,內存20%。
2、把進程的棧dump到文件裡,以便後面的分析
jstack 22764 > cpu0827.log
3、看看這個進程裡面哪些線程在佔用cpu
top -p 22764 -H

4、查看問題線程堆棧
printf "%x\\n" 22978
59c2
5.在cpu日誌裡找PID=59c2的線程
6.分析原因
看日誌,很明顯是org.hibernate.internal.util.collections.IdentityMap.concurrentEntries (...)這裡"卡住"了。
閱讀更多 愛踢人生 的文章