日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux应用服务导致系统负载过高问题排查

發布時間:2024/1/17 linux 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux应用服务导致系统负载过高问题排查 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

linux服務器上,用uptime、top查看系統的負載明顯過高,經過排查,發現是因為代碼中死循環造成的。具體的排查過程請參照本文。

????使用top命令,發現load?average指標值都在1附近,偏高。當然也可以用uptime。用top的好處是可以看到各個進程使用資源的一個排名。在top結果頁面,輸入P,以cpu消耗進行排名,發現有個java進程占用了98%的cpu資源。記下該進程的pid,通過ps?-f -p pid命令,可以發現該進程是tomcat進程,它提供了一個web服務。

????目前進程的信息對我們問題的排查沒有任何幫助,我們需要查看線程的信息。我們知道,jdk提供了對線程的監控命令jstack,但是我們直接使用此命令幫助不大。我們可以先找出消耗資源較多的線程,這里又要用到top命令。top命令不僅可以查看進程,還可以查看線程。使用top?-p pid,只對該進程進行監控,進入界面后,輸入H,可以查看該進程下各線程使用資源的情況。截圖如下:

????可以看出線程20591消耗資源較多。

????接下來,我們就需要看看這個線程到底干了什么事情。此時就需要用到jdk提供的jstack工具了。

????將線程棧打出來:jstack -F pid,截圖如下:

????jstack會將進程下所有線程信息打印出來,上圖只是截取了部分線程信息。根據線程號,可以找到對應的線程棧。

????通過線程棧,找到對應的java代碼,發現是因為死循環導致。修改代碼重新部署,系統恢復正常。


轉載于:https://blog.51cto.com/bosszhang/2139180

總結

以上是生活随笔為你收集整理的Linux应用服务导致系统负载过高问题排查的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。