国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

java 應(yīng)用cpu飆升(超過100%)故障排查

這篇具有很好參考價值的文章主要介紹了java 應(yīng)用cpu飆升(超過100%)故障排查。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

害。。。

昨天剛寫完一份關(guān)于jvm問題排查相關(guān)的博客,今天線上項目就遇到了一個突發(fā)問題。

現(xiàn)象是用戶反映系統(tǒng)非常卡,無法操作。

然后登錄服務(wù)器查看發(fā)現(xiàn)cpu 一直100%以上。


具體排查步驟:

1,首先top命令查看服務(wù)器cpu等情況:

發(fā)現(xiàn)線上pid 29737的 java應(yīng)用cpu達到100%

java 應(yīng)用cpu飆升(超過100%)故障排查

2,top -H -p pid命令查看具體的線程情況

top -H -p 29373

輸入上述命令,然后按H顯示cpu最高排名的線程??梢钥吹絧id 30013的線程cpu 100%且一直未釋放。

java 應(yīng)用cpu飆升(超過100%)故障排查

3.將線程的pid轉(zhuǎn)為16進制

printf "%x\n" 30013
java 應(yīng)用cpu飆升(超過100%)故障排查

30013做16進制轉(zhuǎn)換為753d

4.使用jvm工具jstack打印該進程的堆棧信息

使用該命令打印堆棧信息的后50行

jstack 29737 |grep -A 50 753d 
java 應(yīng)用cpu飆升(超過100%)故障排查

然后就可以具體看到具體的出問題的是哪部分代碼了,然后檢查更改即可。(我們的是代碼中出現(xiàn)死循環(huán))

注意問題:

可能會出現(xiàn)以下報錯

xxxx: 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

有兩個可能:

  1. jstack后面的進程pid不對,或者16進制的數(shù)不對。

需要注意jstack后面是jps的java進程id。

2.執(zhí)行該命令的用戶必須和java應(yīng)用所屬的用戶一致。

常見的cpu飆升原因

  1. 程序中存在死循環(huán)或者長時間占用 CPU 的操作。比如,不合理的遞歸操作、循環(huán)操作等等。

  1. 程序中存在大量的計算操作,例如復(fù)雜的算法、大量的數(shù)值計算等等。

  1. 程序中存在大量的 IO 操作,例如讀寫文件、網(wǎng)絡(luò)通信等等。

  1. 程序中存在大量的線程創(chuàng)建和銷毀操作,以及線程間的競爭和同步操作。

  1. 程序中存在內(nèi)存泄漏或者內(nèi)存溢出,導(dǎo)致 JVM 不斷進行垃圾回收。

  1. 程序中存在大量的數(shù)據(jù)庫操作,導(dǎo)致數(shù)據(jù)庫連接池的耗盡和數(shù)據(jù)庫負載過高。

針對這些問題,需要具體情況具體分析,采取相應(yīng)的優(yōu)化措施,例如修改代碼邏輯、優(yōu)化算法、降低 IO 操作頻率、減少線程創(chuàng)建和銷毀、增加 JVM 內(nèi)存等等。文章來源地址http://www.zghlxwxcb.cn/news/detail-425300.html

到了這里,關(guān)于java 應(yīng)用cpu飆升(超過100%)故障排查的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • mysql占用cpu超過100%怎么辦?mysql占用cpu特別高的解決方法!

    mysql占用cpu超過100%怎么辦?mysql占用cpu特別高的解決方法!

    前段時間我的一個網(wǎng)站經(jīng)常打不開,通過檢查發(fā)現(xiàn)服務(wù)器cpu占用超過100%;通過top命令發(fā)現(xiàn)是mysql占用cpu特別高導(dǎo)致的,于是優(yōu)化了mysql語句,mysql升級到了mysql8最新版本等,但是并沒有什么卵用。過幾天有出現(xiàn)這種情況。甚至以為是服務(wù)器配置太低了,準備升級配置。 后面分

    2024年02月08日
    瀏覽(19)
  • 【面試】線上 CPU 100% 問題排查

    【面試】線上 CPU 100% 問題排查

    回答套路一般為:線上服務(wù)器沒有排查過,線上服務(wù)器只有運維才有操作權(quán)限。在平時開發(fā)的時候,在測試服務(wù)器上排查過。 2.1、將代碼打包成 jar 包 參考: 點我 2.2、傳到服務(wù)并運行 運行好的效果如下 3.1、拿到進程 id 通過 top 命令,就可以看到讓 cpu 100% 的進程 id,pid 就是

    2024年02月11日
    瀏覽(28)
  • 解決vscode 【code helper (plugin)】 占用CPU超過 100% 導(dǎo)致卡死的問題。

    解決vscode 【code helper (plugin)】 占用CPU超過 100% 導(dǎo)致卡死的問題。

    VsCode 版本: 1.79.2 (Universal) MacOs 版本:13.2.1 (22D68) 芯片:Apple M2 Pro 打開mac監(jiān)視器 ,查看cpu運行的code helper (plugin); 雙擊 查看code helper (plugin) 找到 打開的文件和端口 ; 這里可以留意查看 被圈起來的內(nèi)容。 這就是大概率影響你CPU的插件 你可以嘗試 逐一卸載/禁用 , 直到找到

    2024年02月12日
    瀏覽(96)
  • CPU飆升 頻繁GC排查-使用jmap histro命令來查看JVM中對象的直方圖

    CPU飆升 頻繁GC排查-使用jmap histro命令來查看JVM中對象的直方圖

    jmap是Java Virtual Machine Tool的一部分,它允許您生成JVM堆轉(zhuǎn)儲文件并執(zhí)行各種診斷操作。可以使用jmap histro命令來查看JVM中對象的直方圖。 以下是使用jmap histro命令的語法: 參數(shù)pid是JVM進程的ID。請注意,您需要具有足夠的權(quán)限才能執(zhí)行此命令。 執(zhí)行上述命令后,您將獲得JVM堆

    2024年01月19日
    瀏覽(30)
  • Java線上故障排查(CPU、磁盤、內(nèi)存、網(wǎng)絡(luò)、GC)+JVM性能調(diào)優(yōu)監(jiān)控工具+JVM常用參數(shù)和命令

    Java線上故障排查(CPU、磁盤、內(nèi)存、網(wǎng)絡(luò)、GC)+JVM性能調(diào)優(yōu)監(jiān)控工具+JVM常用參數(shù)和命令

    根據(jù)服務(wù)部署和項目架構(gòu),從如下幾個方面排查: (1)運用服務(wù)器:排查內(nèi)存,cpu,請求數(shù)等; (2)文件圖片服務(wù)器:排查內(nèi)存,cpu,請求數(shù)等; (3)計時器服務(wù)器:排查內(nèi)存,cpu,請求數(shù)等; (4)redis服務(wù)器:排查內(nèi)存,cpu,連接數(shù)等; (5)db服務(wù)器:排查內(nèi)存,cpu,連接數(shù)

    2024年02月07日
    瀏覽(29)
  • oracle服務(wù)器的CPU占用率一直100%排查方式

    oracle服務(wù)器的CPU占用率一直100%排查方式

    公司開發(fā)、測試、演示環(huán)境,三個環(huán)境的oracle服務(wù)器無論服務(wù)器是否空閑, CPU的占用率一直是100%, 一直也沒有找到問題原因,今天就花了一整天時間研究這個問題。 awr報告是oracle 10g下提供的一種性能收集和分析工具,它能提供一個時間段內(nèi)整個系統(tǒng)資源使用情況的報告,

    2024年02月14日
    瀏覽(19)
  • Java應(yīng)用CPU占用過高問題排查

    測試環(huán)境CPU突然升高,日志查詢無異常,可以通過使用jvm的調(diào)試工具定位問題。 1.定位java服務(wù)進程 2.定位java線程 3.定位代碼塊 1.定位進程 獲取cpu占用高的進程pid 2.定位線程 轉(zhuǎn)16進制 3.定位代碼 目的:將當(dāng)前堆棧信息保存為文件,通過16進制的TID查找問題所在的代碼塊;

    2024年02月12日
    瀏覽(22)
  • Java應(yīng)用CPU占用過高故障排除

    Java應(yīng)用CPU占用過高故障排除

    最近測試反饋測試環(huán)境接口偶現(xiàn)有訪問超時,然后APP提示是網(wǎng)絡(luò)失敗,看了一下測試環(huán)境的應(yīng)用完全沒啥問題,一直以為是網(wǎng)絡(luò)問題。 今天測試有反饋了,趕緊看了一下測試服務(wù)器,這次終于有癥狀了,CPU直接飆到300%了。 盡然問題復(fù)現(xiàn)了,直接開干,定位問題 1、定位問題

    2024年02月10日
    瀏覽(23)
  • 【Linux】Linux突然發(fā)現(xiàn)CPU占用100%該怎么辦?如何排查進程(帶你一文解決)

    目錄 Linux的CPU發(fā)現(xiàn)占用率100%,一般會由什么情況引起? 1、進程負載過高: 2、錯誤配置的服務(wù)或應(yīng)用程序: 3、惡意軟件或病毒: 4、不良硬件或驅(qū)動程序: 5、系統(tǒng)內(nèi)核問題: 6、CPU過熱: 對于排查CPU占用率過高的原因,可以采取以下步驟和工具: 一、top/htop方法 1、使用

    2024年02月08日
    瀏覽(22)
  • k8s排查Java應(yīng)用CPU負載過高問題

    k8s排查Java應(yīng)用CPU負載過高問題

    因為k8s發(fā)布的pod還未加入資源的監(jiān)控,在查看pod負載時發(fā)現(xiàn)其中pod占用1核CPU 2.1通過debug排查 下一步可以到對應(yīng)的node節(jié)點查看對應(yīng)進程的信息,也可以通過debug在當(dāng)前節(jié)點進行排查(當(dāng)節(jié)點太多懶得登錄過去時) top命令找到所在節(jié)點進程信息,找到問題進程 查看詳細線程 通

    2024年02月05日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包