日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

cpu是時(shí)分(time division)的,操作系統(tǒng)里有很多線程,每個(gè)線程的運(yùn)行時(shí)間由cpu決定,cpu會(huì)分給每個(gè)線程一個(gè)時(shí)間片,時(shí)間片是一個(gè)很短的時(shí)間長(zhǎng)度,如果在時(shí)間片內(nèi),線程一直占有,則是100%;我們應(yīng)該意識(shí)到,cpu運(yùn)行速度很快(主頻非常高),除非密集型耗費(fèi)cpu的運(yùn)算,其它類型任務(wù)都會(huì)在小于時(shí)間片的時(shí)間內(nèi)結(jié)束。

產(chǎn)生CPU100%的原因:

某一程序一直占用CPU是導(dǎo)致CPU100%的原因,大概有以下幾種情況:

1、JAVA 內(nèi)存不夠或溢出導(dǎo)致GC overhead問題, GC overhead 導(dǎo)致的CPU 100%問題;

2、死循環(huán)問題. 如常見的HashMap被多個(gè)線程并發(fā)使用導(dǎo)致的死循環(huán), 或者死循環(huán);

3、某些操作一直占用CPU

第一步:使用top命令,查看占用cpu的進(jìn)程

[root@sdfsdfseZ codeimage]# top
原創(chuàng):如何排查java進(jìn)程cpu100%的問題

 

第二步:ps -ef | grep java 或jps命令,找出服務(wù)器的所有java進(jìn)程

原創(chuàng):如何排查java進(jìn)程cpu100%的問題

 

第三步:找出CPU耗用最厲害的進(jìn)程pid

原創(chuàng):如何排查java進(jìn)程cpu100%的問題

 

第四步:查找出具體占用cpu利用率最厲害的線程號(hào),top -H -p pid 。然后按下shift+p,跳出CPU監(jiān)控

當(dāng)前線程號(hào)為:1747

原創(chuàng):如何排查java進(jìn)程cpu100%的問題

 

第五步:將獲取到的線程號(hào)轉(zhuǎn)換成16進(jìn)制

因?yàn)閖ava線程棧文件中的線程id是十六進(jìn)制,需要將線程id從十進(jìn)制轉(zhuǎn)為十六進(jìn)制。十進(jìn)制 轉(zhuǎn)十六進(jìn)制的命令如下:

結(jié)果為:

原創(chuàng):如何排查java進(jìn)程cpu100%的問題

 

第六步:導(dǎo)出線程棧

將具體的占用CPU過高的java進(jìn)程的線程棧導(dǎo)出,導(dǎo)出命令如下:

pid.tdump文件后綴名隨意,通常以tdump結(jié)尾。

[root@sdfsdfsdeZ codeimage]# jstack 1747 > tmp/1747.tdump
原創(chuàng):如何排查java進(jìn)程cpu100%的問題

 

可能會(huì)拋出異常;

1747: Unable to open socket file: target process not responding or HotSpot VM not loaded
The -F option can be used when the target process is not responding

原因分析

jvm運(yùn)行時(shí)會(huì)生成一個(gè)目錄hsperfdata_$USER($USER是啟動(dòng)java進(jìn)程的用戶),在linux中默認(rèn)是/tmp,目錄下會(huì)有些pid文件,存放jvm進(jìn)程信息,而jmap,jstack等工具會(huì)讀取/tmp/hsperfdata_$USER下的pid文件獲取連接信息.

檢查了/tmp/hsperfdata_root目,,但在$Tomcat_HOME目錄中的temp目錄中有對(duì)應(yīng)的文件.

解決辦法

或使用

[root@iZ2zeab8t820b5ywp0rkfeZ bin]# jstack 1706 > /tmp/hsperfdata_root/1706.tdump

第七步:導(dǎo)出堆

[root@sddsdfsaZ bin]# jstat -gcutil 1706

原創(chuàng):如何排查java進(jìn)程cpu100%的問題

 

第八步:jvisualvm分析快照

使用JAVA_HOME/bin/jvisualvm.exe,載入快照

文件----->載入—>文件類型(Dump)

原創(chuàng):如何排查java進(jìn)程cpu100%的問題

 


原創(chuàng):如何排查java進(jìn)程cpu100%的問題

 

分享到:
標(biāo)簽:java
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定