亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java進程cpu占用過高怎么辦

發布時間:2020-08-04 10:06:53 來源:億速云 閱讀:317 作者:小豬 欄目:編程語言

小編這次要給大家分享的是Java進程cpu占用過高怎么辦,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

cpu是時分(time division)的,操作系統里有很多線程,每個線程的運行時間由cpu決定,cpu會分給每個線程一個時間片,時間片是一個很短的時間長度,如果在時間片內,線程一直占有,則是100%;我們應該意識到,cpu運行速度很快(主頻非常高),除非密集型耗費cpu的運算,其它類型任務都會在小于時間片的時間內結束。

產生CPU100%的原因:

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

1、Java 內存不夠或溢出導致GC overhead問題, GC overhead 導致的CPU 100%問題;

2、死循環問題. 如常見的HashMap被多個線程并發使用導致的死循環, 或者死循環;

3、某些操作一直占用CPU

第一步:使用top命令,查看占用cpu的進程

[root@sdfsdfseZ codeimage]# top

Java進程cpu占用過高怎么辦

第二步:ps -ef | grep java 或jps命令,找出服務器的所有java進程

Java進程cpu占用過高怎么辦

第三步:找出CPU耗用最厲害的進程pid

Java進程cpu占用過高怎么辦

第四步:查找出具體占用cpu利用率最厲害的線程號,top -H -p pid 。然后按下shift+p,跳出CPU監控
當前線程號為:1747

Java進程cpu占用過高怎么辦

第五步:將獲取到的線程號轉換成16進制

因為java線程棧文件中的線程id是十六進制,需要將線程id從十進制轉為十六進制。十進制 轉十六進制的命令如下:

結果為:

Java進程cpu占用過高怎么辦

第六步:導出線程棧

將具體的占用CPU過高的java進程的線程棧導出,導出命令如下:

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

[root@sdfsdfsdeZ codeimage]# jstack 1747 > tmp/1747.tdump

Java進程cpu占用過高怎么辦

可能會拋出異常;

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運行時會生成一個目錄hsperfdata_$USER($USER是啟動java進程的用戶),在linux中默認是/tmp,目錄下會有些pid文件,存放jvm進程信息,而jmap,jstack等工具會讀取/tmp/hsperfdata_$USER下的pid文件獲取連接信息.

檢查了/tmp/hsperfdata_root目,,但在$TOMCAT_HOME目錄中的temp目錄中有對應的文件.

解決辦法

使用

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

第七步:導出堆

[root@sddsdfsaZ bin]# jstat -gcutil 1706

Java進程cpu占用過高怎么辦

第八步:jvisualvm分析快照使用JAVA_HOME/bin/jvisualvm.exe,載入快照

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

Java進程cpu占用過高怎么辦 Java進程cpu占用過高怎么辦

看完這篇關于Java進程cpu占用過高怎么辦的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

丰镇市| 浦江县| 敖汉旗| 芮城县| 都匀市| 绩溪县| 西丰县| 宁武县| 连平县| 柘城县| 剑阁县| 清原| 和林格尔县| 武平县| 高淳县| 阿巴嘎旗| 昆山市| 侯马市| 河东区| 古交市| 沾益县| 安乡县| 沂源县| 临夏市| 社旗县| 将乐县| 易门县| 秦皇岛市| 紫金县| 北安市| 建瓯市| 镇康县| 阳曲县| 衢州市| 从江县| 保定市| 宜丰县| 西吉县| 安康市| 家居| 南宫市|