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 (...)這裡"卡住"了。


分享到:


相關文章: