web應用部署到Linux服務器上,CPU佔用過高
公司項目部署到LINUX服務器上後,過了一段時間,CPU過高,開始尋找原因
有這麼幾步:
1.通過top命令(top之後再按shift+H可以顯示線程)查看CPU使用率高的線程;
2.將這個線程號轉換爲16進制;
3.使用jps查看服務器的Java進程號;
4.使用jstack [進程號] 打印當前的進程堆棧;
5.從打印的信息中,找到第2步得到的線程號,看看這個線程在做什麼。
不一定一次就能抓準線程狀態,可以第1步時多記幾個線程。
最後發現是代碼中有外部遠程調用,造成了線程死鎖。