最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java進程cpu占用過高問題解決

 更新時間:2020年04月14日 08:50:41   作者:陳曉呆  
這篇文章主要介紹了Java進程cpu占用過高問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

cpu是時分(time division)的,操作系統(tǒng)里有很多線程,每個線程的運行時間由cpu決定,cpu會分給每個線程一個時間片,時間片是一個很短的時間長度,如果在時間片內(nèi),線程一直占有,則是100%;我們應(yīng)該意識到,cpu運行速度很快(主頻非常高),除非密集型耗費cpu的運算,其它類型任務(wù)都會在小于時間片的時間內(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被多個線程并發(fā)使用導(dǎo)致的死循環(huán), 或者死循環(huán);

3、某些操作一直占用CPU

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

[root@sdfsdfseZ codeimage]# top

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

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

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

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

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

結(jié)果為:

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

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

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

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

可能會拋出異常;

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中默認(rèn)是/tmp,目錄下會有些pid文件,存放jvm進程信息,而jmap,jstack等工具會讀取/tmp/hsperfdata_$USER下的pid文件獲取連接信息.

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

解決辦法

使用

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

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

[root@sddsdfsaZ bin]# jstat -gcutil 1706

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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 獲取Java線程轉(zhuǎn)儲的常用方法(推薦)

    獲取Java線程轉(zhuǎn)儲的常用方法(推薦)

    這篇文章主要介紹了獲取Java線程轉(zhuǎn)儲的常用方法,本文給大家介紹的非常想詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Java 如何實現(xiàn)照片轉(zhuǎn)化為回憶中的照片

    Java 如何實現(xiàn)照片轉(zhuǎn)化為回憶中的照片

    本文主要介紹了可以對圖片進行色彩處理的Java工具類,讓圖片變成回憶中的畫面,主要將圖片做黑白與褐色的處理。代碼具有一定價值,感興趣的童鞋可以關(guān)注一下
    2021-11-11
  • spring配置定時任務(wù)的幾種方式總結(jié)

    spring配置定時任務(wù)的幾種方式總結(jié)

    這篇文章主要介紹了spring配置定時任務(wù)的幾種方式總結(jié),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 基于java SSM springboot實現(xiàn)景區(qū)行李寄存管理系統(tǒng)

    基于java SSM springboot實現(xiàn)景區(qū)行李寄存管理系統(tǒng)

    這篇文章主要介紹了基于java SSM springboot實現(xiàn)的景區(qū)行李寄存管理系統(tǒng),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • Java?Runtime的使用詳解

    Java?Runtime的使用詳解

    這篇文章主要介紹了Java?Runtime的使用詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • java中BeanUtils.copyProperties的用法(超詳細)

    java中BeanUtils.copyProperties的用法(超詳細)

    本文介紹了BeanUtils.copyProperties()方法的使用,包括其功能、用法、注意事項和示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • Java編寫日志手機號脫敏工具類

    Java編寫日志手機號脫敏工具類

    在開發(fā)過程中,很容易將用戶敏感信息,例如手機號碼、身份證等,打印在日志平臺,本文將利用Java編寫一個日志手機號脫敏工具類,感興趣的可以了解下
    2024-12-12
  • Java8新特性之重復(fù)注解(repeating annotations)淺析

    Java8新特性之重復(fù)注解(repeating annotations)淺析

    這篇文章主要介紹了Java8新特性之重復(fù)注解(repeating annotations)淺析,這個新特性只是修改了程序的可讀性,是比較小的一個改動,需要的朋友可以參考下
    2014-06-06
  • Java之一文詳解String字符串的用法

    Java之一文詳解String字符串的用法

    本文將給大家重點講解一下String的用法,因為這個太常用,也太??剂?。String字符串的內(nèi)容是比較多的,需要初學(xué)者進行專門的學(xué)習(xí),尤其是它的一些底層原理更需要我們來了解,需要的同學(xué)跟著小編一起學(xué)習(xí)吧
    2023-05-05
  • MyBatis-Plus實現(xiàn)2種分頁方法(QueryWrapper查詢分頁和SQL查詢分頁)

    MyBatis-Plus實現(xiàn)2種分頁方法(QueryWrapper查詢分頁和SQL查詢分頁)

    本文主要介紹了MyBatis-Plus實現(xiàn)2種分頁方法,主要包括QueryWrapper查詢分頁和SQL查詢分頁,具有一定的參考價值,感興趣的可以了解一下
    2021-08-08

最新評論

封开县| 岱山县| 洛南县| 共和县| 饶河县| 泉州市| 中阳县| 平泉县| 大渡口区| 合肥市| 定远县| 许昌市| 沙洋县| 晋城| 巴楚县| 宁津县| 绥中县| 区。| 儋州市| 铜山县| 行唐县| 旬阳县| 鸡东县| 新河县| 鲜城| 奎屯市| 宁津县| 县级市| 莱芜市| 商南县| 阿拉尔市| 新干县| 龙山县| 佛冈县| 沽源县| 长兴县| 泗阳县| 余姚市| 霸州市| 邮箱| 呼图壁县|