日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

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

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

linux服務(wù)器上,用uptime、top查看系統(tǒng)的負(fù)載明顯過高,經(jīng)過排查,發(fā)現(xiàn)是因為代碼中死循環(huán)造成的。具體的排查過程請參照本文。

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

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

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

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

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

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

????通過線程棧,找到對應(yīng)的java代碼,發(fā)現(xiàn)是因為死循環(huán)導(dǎo)致。修改代碼重新部署,系統(tǒng)恢復(fù)正常。


轉(zhuǎn)載于:https://blog.51cto.com/bosszhang/2139180

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。