<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          記一次java程序CPU占用過高問題排查

          共 1044字,需瀏覽 3分鐘

           ·

          2022-07-07 21:45

          你知道的越多,不知道的就越多,業(yè)余的像一棵小草!

          你來,我們一起精進!你不來,我和你的競爭對手一起精進!

          編輯:業(yè)余草

          puhaiyang.blog.csdn.net

          推薦:https://www.xttblog.com/?p=5349

          問題是這樣的,將項目部署到服務(wù)器上后,發(fā)現(xiàn)應(yīng)用程序的響應(yīng)速度非常慢,于是開始進行了排查。

          TOP

          首先查看系統(tǒng)資源占用信息,TOP看一下

          發(fā)現(xiàn)正在運行的JAVA項目CPU占用率很高,百分之200左右了,那么問題一定出在這個程序中

          Ps -mp pid -o THREAD,tid,time

          再通過ps命令查看這個程序的線程信息,tid代碼線程ID,time代表這個線程的已運行時間

          由上面TOP可知進程ID為15669

          top命令

          于是可以看到這個進程中有3個線程的CPU占用率很高,并且它們目前也運行了13分鐘了,它們的TID分別為16068,16069,16071

          進制轉(zhuǎn)換,2HEX

          再將這3個TID轉(zhuǎn)為16進制,為等會在jstack中查找方便

          Printf “%x\\n” number

          得到這三個數(shù)的16進制為別為3ec4,3ec5,3ec7

          jstack查看進程信息

          有了線程ID的16進制后,再在jstack中查看進程堆棧信息(之所有拿到TID信息,主要是為了查找方便)

          通過jstack -pid 再grep查詢

          從這里能看出,這3個線程目前還處于運行狀態(tài)的

          再通過jstack查看詳細點的信息

          jstack

          其中顯示出了較為詳細的代碼信息。

          本地代碼問題排查

          再通過回到代碼中查看getRemovedDateTypeParam方法。

          仔細看了代碼后,才發(fā)現(xiàn)了問題;此處的代碼問題在于:如果paramMap不為空,但dateParamMap為空的,那么程序就會出現(xiàn)死循環(huán)。真是一個大BUG啊!

          開發(fā)時大意了,沒考慮到。

          然后修改為以下代碼:

          再測試下,打包上傳后,程序終于正常了!

          如果以后遇到類似的問題可以先按照上面這種思路進行查看:

          1. 通過「jps -v」找到對應(yīng)的pid

          2. 導(dǎo)出進程stack信息:

            jstack -l [pid] >> [文件名]

            // jstack -l 123456 >> 123.txt**
          3. 打開導(dǎo)出的jstack文件進行查看,如果內(nèi)容過多,也可以先通過一些jstack分析工具進行查看。

          瀏覽 43
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  91成人电影在线 | 国产爽爽操逼91 | 小黄片下载免费视频 | 成人无码一区二区三区 | 青青草青娱乐 |