精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

JVM CPU使用率飆高問題的排查分析過程

jf_ro2CN3Fa ? 來源:CG國(guó)斌 ? 作者:CG國(guó)斌 ? 2022-10-10 16:31 ? 次閱讀

問題現(xiàn)象

排查過程

問題現(xiàn)象

首先,我們一起看看通過 VisualVM 監(jiān)控到的機(jī)器 CPU 使用率圖:

95272616-4857-11ed-a3b6-dac502259ad0.png

如上圖所示,在 下午3:45 分之前,CPU 的使用率明顯飆高,最高飆到近 100%,為什么會(huì)出現(xiàn)這樣的現(xiàn)象呢?

排查過程

Step 1: 使用top命令,查詢資源占用情況:

955ec864-4857-11ed-a3b6-dac502259ad0.png

如上圖所示,顯示了服務(wù)器當(dāng)前的資源占用情況,其中PID為5456的進(jìn)程占用的資源最多。

在這里,我們也使用top -p PID命令,查詢指定PID的資源占用情況:

95bb663c-4857-11ed-a3b6-dac502259ad0.png

Step 2: 使用ps -mp PID -o THREAD,tid,time命令,查詢?cè)撨M(jìn)程的線程情況:

95e2a47c-4857-11ed-a3b6-dac502259ad0.png

在這里,我們也使用ps -mp PID -o THREAD,tid,time | sort -rn命令,將該進(jìn)程下的線程按資源使用情況倒序展示:

95fb67aa-4857-11ed-a3b6-dac502259ad0.png

Step 3: 使用printf "%x " PID命令,將PID轉(zhuǎn)為十六進(jìn)制的TID:

9609fbbc-4857-11ed-a3b6-dac502259ad0.png

在這里,我們之所以需要將PID轉(zhuǎn)為十六進(jìn)制是因?yàn)樵诙褩?a target="_blank">信息中,PID是以十六進(jìn)制形式存在的。

Step 4: 使用jstack PID | grep TID -A 100命令,查詢堆棧信息:

962542f0-4857-11ed-a3b6-dac502259ad0.png

如上圖所示,顯示該進(jìn)程下多個(gè)線程均處于TIMED_WAITING狀態(tài)。

雖然線程處于WAITING或者TIMED_WAITING狀態(tài)都不會(huì)消耗 CPU,但是線程頻繁的掛起和喚醒卻會(huì)消耗 CPU,而且代價(jià)高昂。

而上面之所以會(huì)出現(xiàn) CPU 使用率飆高的情況,則是因?yàn)橛腥嗽谧鰤簻y(cè)。

特別地,在 mock 底層接口的時(shí)候,使用了類似TimeUnit.SECONDS.sleep(1)這樣的語(yǔ)句。

至于為何在 下午3:45 分之后,CPU 的使用率降下來了,則是因?yàn)橥V沽藟簻y(cè)。

除此之外,我們還可以使用jinfo和jstat命令來查詢 Java 進(jìn)程的啟動(dòng)參數(shù)以及 GC 情況:

使用jinfo PID命令,查詢啟動(dòng)參數(shù):

9668f54a-4857-11ed-a3b6-dac502259ad0.png

如上圖所示,使用該命令我們主要是為了查詢啟動(dòng)參數(shù),如初始化堆大小、垃圾回收器等配置。

使用jstat -gcutil PID 1000命令,查詢 GC 情況:

967f543e-4857-11ed-a3b6-dac502259ad0.png

如上圖所示,顯示了PID為20567的 Java 進(jìn)程每秒的 GC 情況,其中1000表示 GC 狀態(tài)的更新頻率,單位為毫秒。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10829

    瀏覽量

    211193
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9029

    瀏覽量

    85207
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2960

    瀏覽量

    104563
  • 堆棧
    +關(guān)注

    關(guān)注

    0

    文章

    182

    瀏覽量

    19734
  • JVM
    JVM
    +關(guān)注

    關(guān)注

    0

    文章

    157

    瀏覽量

    12210

原文標(biāo)題:記一次 JVM CPU 使用率飆高問題的排查過程

文章出處:【微信號(hào):芋道源碼,微信公眾號(hào):芋道源碼】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    labview如何獲取Win7的CPU使用率、MEM使用率和硬盤使用率

    如題,LabVIEW開發(fā)程序,需要獲取CPU使用率、MEM使用率和硬盤使用率
    發(fā)表于 11-13 10:52

    ucosiii任務(wù)CPU使用率怎么查看?

    過程:開啟統(tǒng)計(jì)任務(wù),查看到CPU的整體使用率,但是通過訪問任務(wù)控制塊里面的CPU使用率無法單獨(dú)查看到每個(gè)任務(wù)的
    發(fā)表于 05-19 23:29

    Outport對(duì)CPU使用率的影響是什么?

    對(duì)于 simscape 電池 SOC 估算示例,當(dāng)在帶有 MPC5775E 的 PIL 塊中使用輸出端口進(jìn)行 SOC 監(jiān)控時(shí),CPU 使用率約為 0.153%。但是當(dāng)我終止它并且不監(jiān)視 SOC
    發(fā)表于 04-03 06:44

    CPU使用率問題求解

    對(duì)于我們的 CPU 使用率分析任務(wù),MathWorks 團(tuán)隊(duì)在 PIL 模式下對(duì) Nucleo-F303RE 72 MHz 板實(shí)施了一個(gè) simulink 示例。我在 MPC5775E 板上實(shí)現(xiàn)了
    發(fā)表于 04-03 09:07

    C#教程之CPU內(nèi)存使用率

    C#教程之CPU內(nèi)存使用率,很好的C#資料,快來學(xué)習(xí)吧。
    發(fā)表于 04-20 14:16 ?7次下載

    cpu使用率忽高忽低問題原因有哪些

    cpu使用率忽高忽低可能是大量的蠕蟲病毒在系統(tǒng)內(nèi)部迅速?gòu)?fù)制,造成CPU占用資源率據(jù)不下。
    的頭像 發(fā)表于 03-01 05:21 ?1.9w次閱讀

    cpu使用率多少算正常_cpu使用率100怎么辦

    本文首先分析cpu使用率多少算正常,其次闡述了cpu使用率100的解決方法,最后介紹了優(yōu)化cpu
    發(fā)表于 04-29 09:28 ?1.5w次閱讀

    cpu使用率過高怎么解決_cpu使用率過高是什么原因

    本文主要闡述了cpu使用率過高的原因及解決方法。
    發(fā)表于 04-29 09:34 ?1611次閱讀

    為什么明明沒開多少軟件,計(jì)算的CPU使用率卻莫名的

    大家在用電腦的時(shí)候經(jīng)常會(huì)遇到一個(gè)情況,明明自己也沒開多少軟件,計(jì)算的CPU使用率卻莫名的。這是什么原因呢,本文中將對(duì)此進(jìn)行講解。 (任務(wù)管理器截圖) 一般情況下,CPU
    的頭像 發(fā)表于 02-03 17:09 ?2.7w次閱讀
    為什么明明沒開多少軟件,計(jì)算的<b class='flag-5'>CPU</b><b class='flag-5'>使用率</b>卻莫名的<b class='flag-5'>高</b>

    CPU使用率達(dá)到100%會(huì)怎樣

    我們使用電腦的時(shí)候,點(diǎn)擊太多程序會(huì)導(dǎo)致CPU使用率達(dá)到100%。
    的頭像 發(fā)表于 02-02 10:59 ?5.2w次閱讀

    CPU使用率是什么意思

    打開電腦的任務(wù)管理器,看著跳動(dòng)的CPU使用率,發(fā)現(xiàn)很舒服。每一個(gè)線程占用了多少CPU清清楚楚,也就能針對(duì)性的確認(rèn)為啥你的電腦跑的慢了。
    的頭像 發(fā)表于 05-12 10:37 ?9047次閱讀

    使用Bolt監(jiān)控CPU使用率

    電子發(fā)燒友網(wǎng)站提供《使用Bolt監(jiān)控CPU使用率.zip》資料免費(fèi)下載
    發(fā)表于 12-14 11:23 ?0次下載
    使用Bolt監(jiān)控<b class='flag-5'>CPU</b><b class='flag-5'>使用率</b>

    什么是CPU使用率?如何測(cè)量CPU使用率

    CPU 使用率CPU 在計(jì)算機(jī)上執(zhí)行各種任務(wù)和進(jìn)程所花費(fèi)的時(shí)間量的度量。
    的頭像 發(fā)表于 08-06 17:07 ?5731次閱讀

    Java程序CPU使用率的原因

    Java程序是一種高級(jí)編程語(yǔ)言,由于其跨平臺(tái)的特性和強(qiáng)大的功能,被廣泛應(yīng)用于服務(wù)器端、企業(yè)級(jí)應(yīng)用和大數(shù)據(jù)處理等場(chǎng)景。然而,在某些情況下,我們可能會(huì)發(fā)現(xiàn)Java程序的CPU使用率異常,這會(huì)導(dǎo)致系統(tǒng)
    的頭像 發(fā)表于 12-05 11:20 ?5253次閱讀

    如何在Linux系統(tǒng)中檢查CPU使用率

    首先在Linux系統(tǒng)中檢查CPU使用率。可以通過在命令行中輸入top或htop命令來查看當(dāng)前系統(tǒng)中各個(gè)進(jìn)程的CPU使用率。如果CPU
    發(fā)表于 01-06 10:42 ?1282次閱讀
    如何在Linux系統(tǒng)中檢查<b class='flag-5'>CPU</b><b class='flag-5'>使用率</b>