国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

Linux系統(tǒng)java進程CPU占用過高的問題及排查

瀏覽:4日期:2023-09-19 20:53:26
目錄Linux系統(tǒng)java進程CPU占用過高Linux如何定位Java進程CPU利用率過高原因總結(jié)Linux系統(tǒng)java進程CPU占用過高

1.通過top命令查看,CPU占用高的進程

top

2.查看該進程下線程占用CPU情況

# 12133-進程號top -Hp 12133

這里的PID是線程ID,可以看到,有幾個線程CPU占用過高。

3.將線程ID轉(zhuǎn)成16進制

printf '0x%x\n' 5421

4.通過jstack命令查看線程堆棧

# 12113-進程號 # 0xc81-上面查到的16進制線程號jstack 12113|grep 0xc81 -A 20

通過堆棧信息,找到具體的代碼,分析原因。

Linux如何定位Java進程CPU利用率過高原因

首先通過Top命令查看占用CPU較高的進程PID,執(zhí)行Top之后按1可以查看每個核占用比例

top

這里由于我是用的虛擬機,即使我的Java進程占用CPU很高也只是占的虛擬機的,而對整個機器的CPU來說占的并不高。

這里我們找到了pid=7957

然后我們在根據(jù)pid找出占用CPU過高的線程

top -H -p 7957

然后根據(jù)線程id=7958使用strace -p命令查看調(diào)用情況

發(fā)現(xiàn)系統(tǒng)在不停的打印1然后把線程十進制的線程id=7958轉(zhuǎn)換為十六進制

最后抓取堆棧信息,查看代碼位置

我看找到了線程7958,并且定位到了Test.main第四行,我們打開代碼看看

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標簽: Linux
主站蜘蛛池模板: 和田市| 昭通市| 汤阴县| 康乐县| 青岛市| 高州市| 潜山县| 古蔺县| 濉溪县| 陈巴尔虎旗| 龙岩市| 遂昌县| 吐鲁番市| 若羌县| 临漳县| 南充市| 宜都市| 溆浦县| 嘉黎县| 白城市| 镇江市| 肥东县| 象州县| 桐梓县| 大城县| 池州市| 马公市| 宜城市| 邢台市| 双城市| 临武县| 来凤县| 法库县| 灵宝市| 天峨县| 利辛县| 霞浦县| 德令哈市| 迁安市| 迁西县| 邓州市|