av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java應(yīng)用占用內(nèi)存過(guò)高排查的解決方案

瀏覽:40日期:2022-08-15 18:10:26

故障:收到服務(wù)器報(bào)警,內(nèi)存使用率超過(guò)80%

1.查看

使用dstat和top查看內(nèi)存使用最高的應(yīng)用

使用dstat

java應(yīng)用占用內(nèi)存過(guò)高排查的解決方案

查到內(nèi)存占用最高的是java應(yīng)用,使用2253M內(nèi)存,但是這臺(tái)服務(wù)器跑了好幾個(gè)java,具體哪個(gè)進(jìn)程使用top看下資源情況

使用top

java應(yīng)用占用內(nèi)存過(guò)高排查的解決方案

可以看到j(luò)ava應(yīng)用整體內(nèi)存使用率超過(guò)了70%,其中pid為16494的進(jìn)程 一個(gè)應(yīng)用占了28.7的內(nèi)存

2.定位線程問(wèn)題

使用ps查看16494的線程情況

命令:ps p 16494 -L -o pcpu,pmem,pid,tid,time,tname,cmd

java應(yīng)用占用內(nèi)存過(guò)高排查的解決方案

看到16494這個(gè)pid的應(yīng)用產(chǎn)生了很多線程。

3.查看內(nèi)存使用的堆棧

使用jstack查看

我們挑選了TID=17417的線程進(jìn)行分析

在分析前需要將17417這個(gè)id轉(zhuǎn)換為16進(jìn)制,方便查找信息

[root@localhost ~]# printf '%xn' 174174409

16進(jìn)制為4409

將pid為16494的應(yīng)用打印到日志中

[root@localhost ~]# jstack -l 16494 > jstack.log4.查看內(nèi)存堆棧信息

[root@localhost ~]# vim jstack.log

在日志信息中查找剛剛轉(zhuǎn)換的4409

java應(yīng)用占用內(nèi)存過(guò)高排查的解決方案

可以看到這個(gè)線程狀態(tài)為WAITING

通過(guò)查看日志發(fā)現(xiàn)有大量的 waiting on condition

parking to wait for <0x0000000085dce510>

存在大量線程等待被喚醒,占用大量?jī)?nèi)存

5.代碼優(yōu)化

將相應(yīng)日志發(fā)送給相應(yīng)開(kāi)發(fā),優(yōu)化線程

補(bǔ)充:分析java線程占用cpu或者內(nèi)存高的代碼

1、通過(guò)top查看占用cpu或者內(nèi)存高的進(jìn)程截圖如下【備注輸入大寫(xiě)P以cpu從大到小排序,大寫(xiě)M以內(nèi)存大小排序】

java應(yīng)用占用內(nèi)存過(guò)高排查的解決方案

2、通過(guò)對(duì)應(yīng)的cpu找到PID也就是進(jìn)程對(duì)應(yīng)的pid,然后找到j(luò)ava進(jìn)程106854這個(gè)進(jìn)程id

java應(yīng)用占用內(nèi)存過(guò)高排查的解決方案

3、通過(guò)命令top -Hp PID 例如top -Hp 106854

就可以列出該進(jìn)程下的所有線程id

java應(yīng)用占用內(nèi)存過(guò)高排查的解決方案

4、通過(guò)輸出大寫(xiě)的P查看線程占用cpu最高的或者通過(guò)大寫(xiě)M查看內(nèi)存占用最高的

然后找到109391這個(gè)線程id

5、使用命令printf “%xn” 109391 輸出對(duì)應(yīng)的十六進(jìn)制碼,1ab4f這個(gè)碼是為了過(guò)濾線程id查到對(duì)應(yīng)的代碼

java應(yīng)用占用內(nèi)存過(guò)高排查的解決方案

6、使用命令jstack PID|grep 1ab4f 【備注PID是進(jìn)程的id,1ab4f是這個(gè)進(jìn)程下的一個(gè)線程占用最高的cpu十六進(jìn)制碼】

java應(yīng)用占用內(nèi)存過(guò)高排查的解決方案

7、通過(guò)上面的輸出發(fā)現(xiàn)kafka,所以會(huì)聯(lián)想到,kafka一直監(jiān)聽(tīng)消息,所以消耗cpu,正常現(xiàn)象

8、如果出現(xiàn)自己寫(xiě)的類,說(shuō)明需要修改代碼邏輯了

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 69视频网站 | 日本一级黄色大片 | 欧美精品日韩 | 欧美色综合网 | 国产天堂av| 久久久亚洲精品视频 | 一区二区三区四区在线视频 | 日本伊人久久 | 青草视频网站 | 免费一区二区三区 | 毛片aaa| 日韩欧美一区在线 | 久草热视频 | 欧美亚洲国产精品 | 美女福利网站 | 精品欧美黑人一区二区三区 | 国产精品天美传媒入口 | 国产精品美女久久久久av爽 | 色婷婷一区 | 亚洲成人免费网站 | 亚洲最大的网站 | 亚洲观看黄色网 | 国产在线观看不卡 | 99色综合| 国产一级生活片 | 激情丁香婷婷 | 欧美狠狠干 | 91精品一区 | 99国产免费| 国产日韩在线播放 | 91久久精品视频 | 国产一级免费视频 | 日韩欧美国产综合 | 婷婷97 | 日韩精品一级 | 亚洲国产日韩欧美 | 成人永久免费视频 | 青草久久久 | 最新日韩在线 | 日韩午夜片 | 欧美一级做性受免费大片免费 |