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

Java服務(wù)cpu100%的解決過程分享

 更新時(shí)間:2024年05月01日 07:37:28   作者:千云  
最近一個(gè)任務(wù)是優(yōu)化一個(gè)導(dǎo)出的功能,但是點(diǎn)擊功能時(shí)發(fā)現(xiàn),程序長(zhǎng)時(shí)間無反應(yīng),過一段時(shí)間又有反應(yīng),通過查看服務(wù)的監(jiān)控發(fā)現(xiàn),服務(wù)存在cpu持續(xù)100%的情況,下面分享一下我的處理方案和過程,需要的朋友可以參考下

背景

最近一個(gè)任務(wù)是優(yōu)化一個(gè)導(dǎo)出的功能,但是點(diǎn)擊功能時(shí)發(fā)現(xiàn),程序長(zhǎng)時(shí)間無反應(yīng),過一段時(shí)間又有反應(yīng),通過查看服務(wù)的監(jiān)控發(fā)現(xiàn),服務(wù)存在cpu持續(xù)100%的情況,下面分享一下我的處理方案和過程

處理過程

1.程序cpu監(jiān)控圖

2. 定位 通過查看cpu的使用率發(fā)現(xiàn)服務(wù)cpu100%的情況,卻在兩個(gè)節(jié)點(diǎn)上都存在問題,于是查看cpu情況

a. 登錄服務(wù)器執(zhí)行top命令,查看cpu使用率

-- 此圖非100%時(shí)截圖

b. 使用to -Hp [pid] 命令查看具體的線程占用cpu情況

我們可以看到506和856較高

c. 執(zhí)行 printf "%x\n" [線程id] 將線程id轉(zhuǎn)換成16進(jìn)制,并在前綴前+0x,目的是等下在線程日志里面找到對(duì)應(yīng)的線程具體信息,cpu最高時(shí)當(dāng)時(shí)我得到的線程16進(jìn)制為0x1a8

d. 執(zhí)行jstack [pid] > jstack.txt

e. 通過c步驟得到的0x1a8查詢jstack.txt

線程日志發(fā)現(xiàn),這個(gè)線程其實(shí)是GC線程,也就說明存在fullgc導(dǎo)致了cpu持續(xù)過高,而fullgc都是由大對(duì)象導(dǎo)致的,這就以為這系統(tǒng)中存在著大對(duì)象。

f. 查看jvm內(nèi)存情況

存在內(nèi)存快照上找到了大對(duì)象

g. 查看程序日志

發(fā)現(xiàn)這個(gè)定時(shí)任務(wù)一直在執(zhí)行,在類中發(fā)現(xiàn)了和大對(duì)象相同的類

e. 找到原因,此定時(shí)任務(wù)一次性查詢20多萬條數(shù)據(jù)到對(duì)象中,導(dǎo)致fullgc,關(guān)掉定時(shí)任務(wù),服務(wù)恢復(fù)正常

結(jié)語

本次問題的原因是fullgc導(dǎo)致cpu使用率過高,對(duì)于cpu過高的異常很多都是偶現(xiàn)的,所以不太容易排查,因?yàn)榛径家诔霈F(xiàn)100%時(shí)才能看到哪些線程出問題。

以上就是Java服務(wù)cpu100%的解決過程分享的詳細(xì)內(nèi)容,更多關(guān)于Java服務(wù)cpu100%的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 使用IDEA如何導(dǎo)入SpringBoot項(xiàng)目

    使用IDEA如何導(dǎo)入SpringBoot項(xiàng)目

    這篇文章主要介紹了使用IDEA如何導(dǎo)入SpringBoot項(xiàng)目問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,
    2023-12-12
  • 詳解Java如何創(chuàng)建Annotation

    詳解Java如何創(chuàng)建Annotation

    在本文中,我們將介紹注解的基礎(chǔ)知識(shí),包括注解是什么,它們?nèi)绾卧谑纠惺褂茫约叭绾翁幚硭鼈?。下面和小編一起來學(xué)習(xí)吧
    2019-05-05
  • Spring中ContextLoaderListener監(jiān)聽詳解

    Spring中ContextLoaderListener監(jiān)聽詳解

    這篇文章主要介紹了Spring中ContextLoaderListener監(jiān)聽詳解,SpringMVC啟動(dòng)時(shí)會(huì)啟動(dòng)WebApplicationContext類型的容器,并且會(huì)調(diào)用之前分析的refresh方法,需要的朋友可以參考下
    2024-01-01
  • Java開發(fā)環(huán)境配置教程(win7 64bit)

    Java開發(fā)環(huán)境配置教程(win7 64bit)

    這篇文章主要為大家詳細(xì)介紹了win7 64bit下Java開發(fā)環(huán)境的配置教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Java使用Apache compress實(shí)現(xiàn)文件夾壓縮成Zip包

    Java使用Apache compress實(shí)現(xiàn)文件夾壓縮成Zip包

    Apache common提供了很多實(shí)用的工具包,這篇文章主要來和大家介紹一下Java如何使用Apache compress包實(shí)現(xiàn)文件夾壓縮成Zip包,希望對(duì)大家有所幫助
    2024-01-01
  • Java中特殊運(yùn)算符及其應(yīng)用詳解

    Java中特殊運(yùn)算符及其應(yīng)用詳解

    當(dāng)涉及位操作和位級(jí)運(yùn)算時(shí),Java?提供了一組特殊的運(yùn)算符,即左移(<<)和右移(>>)運(yùn)算符,下面小編就帶大家深入了解一下它們的具體應(yīng)用吧
    2023-08-08
  • Spring Boot集成redis,key自定義生成方式

    Spring Boot集成redis,key自定義生成方式

    這篇文章主要介紹了Spring Boot集成redis,key自定義生成方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java如何獲取JSONObject內(nèi)指定字段key的value值

    Java如何獲取JSONObject內(nèi)指定字段key的value值

    這篇文章主要介紹了Java如何獲取JSONObject內(nèi)指定字段key的value值問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Springboot中spring-boot-starter-quartz的使用及說明

    Springboot中spring-boot-starter-quartz的使用及說明

    這篇文章主要介紹了Springboot中spring-boot-starter-quartz的使用及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Java四種遍歷Map的方法

    Java四種遍歷Map的方法

    今天小編就為大家分享一篇關(guān)于Java四種遍歷Map的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01

最新評(píng)論

临湘市| 菏泽市| 陆良县| 六安市| 无棣县| 哈巴河县| 象山县| 新平| 镇巴县| 平山县| 丰城市| 平山县| 商洛市| 丰都县| 桐梓县| 莱阳市| 多伦县| 科技| 海丰县| 始兴县| 阿拉善右旗| 扎兰屯市| 随州市| 繁峙县| 东乌珠穆沁旗| 乌苏市| 罗定市| 卢湾区| 罗江县| 鲁甸县| 连南| 固安县| 普宁市| 岑巩县| 伽师县| 西充县| 乐山市| 连城县| 湖南省| 枣庄市| 徐水县|