女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

線上機器CPU占用高分析實踐

京東云 ? 來源:京東零售 王江波 ? 作者:京東零售 王江波 ? 2025-02-18 14:41 ? 次閱讀

作者:京東零售 王江波

1. 線程運行狀態

1.1 total

wKgZO2e0K4iAUWSmAAPq2vdj1K0085.png

??

1.2 timed_waiting

wKgZPGe0K4mAXzE4AAMUL7ckbRY633.png

??

wKgZO2e0K4qAKhnsAAEfBtxpT6g700.png

??

通過上圖我們可以發現timed_waiting的topN線程都是查詢國補資質的。

1.3 waiting

wKgZPGe0K4uAEqx2AAIxDoYW2JQ568.png

??

wKgZO2e0K4uAEslDAALKeLlm70w870.png

??

通過上圖我們可以發現waiting的topN線程都是查詢國補活動的。

1.4 線程分析

下面我們分析上述兩種狀態:

1. WAITING 狀態

?定義:當一個線程處于 WAITING 狀態時,它在等待另一個線程的特定操作(如通知或中斷),并且不會繼續執行。

?觸發條件:線程進入 WAITING 狀態的常見情況包括:

調用 Object.wait() 方法:線程在等待某個對象的監視器(鎖)被其他線程通知。

調用 Thread.join() 方法:等待另一個線程完成。

調用 LockSupport.park() 方法:線程被阻塞,直到它被其他線程喚醒。

?恢復:線程在 WAITING 狀態下將一直保持此狀態,直到其他線程調用 notify() 或 notifyAll()(對于 Object.wait()),或者被中斷。

2. TIMED_WAITING 狀態

?定義:當一個線程處于 TIMED_WAITING 狀態時,它在等待某個條件的發生,但它會在指定的時間后自動返回。

?觸發條件:線程進入 TIMED_WAITING 狀態的常見情況包括:

調用 Thread.sleep(milliseconds):線程休眠指定的毫秒數。

調用 Object.wait(milliseconds):線程在等待某個對象的監視器(鎖),并且在指定的時間內等待。

調用 Thread.join(milliseconds):等待另一個線程完成,但有時間限制。

調用 LockSupport.parkNanos() 或 LockSupport.parkUntil()。

?恢復:線程在 TIMED_WAITING 狀態下會在指定的時間結束后自動恢復,或者在其他線程調用 notify() 或 notifyAll() 時恢復。

| 狀態           | 描述                                     | 觸發條件                                    | 恢復方式                                   |
|----------------|------------------------------------------|---------------------------------------------|--------------------------------------------|
| **WAITING**    | 線程等待另一個線程的特定操作,不會繼續執行 | `Object.wait()`, `Thread.join()`, `LockSupport.park()` | 其他線程調用 `notify()`/`notifyAll()` 或被中斷 |
| **TIMED_WAITING** | 線程等待某個條件的發生,但有時間限制   | `Thread.sleep(milliseconds)`, `Object.wait(milliseconds)`, `Thread.join(milliseconds)` | 超過指定時間后自動恢復,或其他線程調用 `notify()`/`notifyAll()` |

下面我們結合實際代碼情況分析:

wKgZPGe0K42ALX4tAAPnywM_5ZI317.png

??

上文中 queryActTp 為 getActivityInfo 執行并發任務,其中包含兩個子任務、 queryQualityTp 為 getQualityInfo 執行并發任務,其中五個子任務。同時將這倆任務放到queryActAndQualityTp中并行。

getActivityInfo所在的秒級監控如下:

wKgZO2e0K46AE1-PAAIoNZXJJLE768.png

??

getQualityInfo所在的秒級監控如下;

wKgZPGe0K4-AT78sAALfDAaj9hY787.png

??

上文中同樣的調用方式,但是出現了兩種線程狀態,理論上應該都是TIMED_WAITING。針對queryActTp我們可以發現堆棧信息中也是LockSupport.park而不是LockSupport.parkNanos。具體原因有待進一步分析。

上述代碼中還有一個問題就是A線程池中又并行調用了B、C線程池,在大流量情況下,CPU頻繁切換也會造成一定的CPU壓力,我們改寫這塊邏輯用一個線程池實現活動和資質的并發查詢。鑒于改動較大,本次先不動。

2. 火焰圖分析

wKgZO2e0K5CADIzrAAFlIjl_MMk997.png

??

2.1 wait線程

wKgZPGe0K5KAbzQ4AAS-vXOvmLQ104.png

??

2.2 鎖性能

wKgZO2e0K5OAbT9fAABVTv8WRRg556.png

??

2.3 CPU采樣

wKgZPGe0K5SAEN51AAVJrQt6tI8976.png

??

2.3.1 getFatherActivity分析

wKgZO2e0K5WAJnlpAASFE89Jb-A955.png

??

Q1:調用場景:循環中調用getFatherActivity

Q2:查看配置數據,json格式化后50000字符,大對象的反序列化

Q3:使用new ArrayList() 創建新對象

Q4:分組后只用了對象中的第一個元素,這里用toMap更佳

優化1:

wKgZPGe0K5aAKN8XAAJwzhk-DqE043.png

??

我們可以發現上文在循環中還是會存在多次的stream調用,繼而將toMap邏輯提到循環外,如下:

wKgZO2e0K5iAJn0PAASLwbZPUT8987.png

??

其他方法確實占用CPU較高,這里先不處理。

下文再優化一項獲取并發線程執行結果的工具類:

wKgZPGe0K5qAe7g2AAkqVb6pW3o510.png

??

1、 allOf異常后,取消所有線程的繼續執行。這么做為了防止有些線程超時后仍在執行,浪費部分CPU資源,線上發現確實存在較多的超時情況。
2、 這里的異常日志較多,根據異常類型進行區分,去掉沒用的堆棧日志。

并發線程中所有的等待統一都使用了上文的方法,前文中的queryActTp處于WAITING狀態可能也是執行沒取消導致,修改部署后再觀察分析。同樣的調用方式 queryQualityTp 處于Timed_waiting狀態可能與一次父任務中子任務的執行耗時有關,見上文監控,活動和資質相差較大,具體原因有待進一步分析。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    11031

    瀏覽量

    215918
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    熱重分析儀在高分子材料中的應用

    高分子材料以其輕質、高強度、耐腐蝕等特性廣泛應用于工業、醫療、電子等領域。然而,其熱穩定性直接影響加工性能、使用壽命及安全性。熱重分析儀作為一種表征材料熱性能的關鍵儀器,能夠精準測定高分子材料在升溫
    的頭像 發表于 05-27 14:19 ?66次閱讀
    熱重<b class='flag-5'>分析</b>儀在<b class='flag-5'>高分</b>子材料中的應用

    【「# ROS 2智能機器人開發實踐」閱讀體驗】視覺實現的基礎算法的應用

    : 一、機器人視覺:從理論到實踐 第7章詳細介紹了ROS2在機器視覺領域的應用,涵蓋了相機標定、OpenCV集成、視覺巡線、二維碼識別以及深度學習目標檢測等內容。通過學習,我認識到: 相機標定的重要性
    發表于 05-03 19:41

    【「# ROS 2智能機器人開發實踐」閱讀體驗】機器人入門的引路書

    ROS的全稱:Robot Operating System 機器人操作系統 ROS的 目的 :ROS支持通用庫,是通信總線,協調多個傳感器 為了解決機器人里各廠商模塊不通用的問題,讓機器人快速開發
    發表于 04-30 01:05

    【「# ROS 2智能機器人開發實踐」閱讀體驗】+ROS2應用案例

    的知識,還需要對ROS 2的節點通信和數據處理有一定的了解。通過實踐這一部分內容,我掌握了如何在ROS 2中實現二維碼識別,這對于提高機器人的智能性和交互性具有重要意義。 地圖構建:SLAM技術
    發表于 04-27 11:42

    【「# ROS 2智能機器人開發實踐」閱讀體驗】+內容初識

    控制機器人沿著路徑行駛,同時實時檢測環境變化,調整路徑規劃和導航控制策略。書中提供了完整的導航系統搭建示例,包括代碼實現和參數配置,幫助讀者快速掌握導航系統的開發。 3. 案例分析實踐 機器
    發表于 04-27 11:24

    名單公布!【書籍評測活動NO.58】ROS 2智能機器人開發實踐

    Jazzy長期穩定版推出,這也代表著ROS 2走向成熟。《ROS 2智能機器人開發實踐》 一書全部代碼便基于長期穩定版撰寫。 ROS的發展 從2012年開始,使用ROS的人越來越多,ROS社區開始舉辦
    發表于 03-03 14:18

    CPU占用率過高的常見原因

    排查系統問題時,CPU 飆升是一個常見的問題。
    的頭像 發表于 10-23 09:33 ?1465次閱讀

    服務器cpu占用率高怎么解決

    服務器CPU占用率高是一個常見的問題,它可能會導致服務器性能下降,甚至影響用戶體驗。 一、了解服務器CPU占用率高的原因 應用程序問題 應用程序設計不合理,導致
    的頭像 發表于 10-10 15:14 ?1608次閱讀

    CPU時鐘周期、機器周期和指令周期的關系

    CPU時鐘周期、機器周期和指令周期是計算機體系結構中三個緊密相連且至關重要的概念,它們共同構成了CPU執行指令和處理數據的基本時間框架。以下是對這三個周期之間關系的詳細解析。
    的頭像 發表于 09-26 15:38 ?5268次閱讀

    優秀實踐:I3C共享總線上的I2C器件

    電子發燒友網站提供《優秀實踐:I3C共享總線上的I2C器件.pdf》資料免費下載
    發表于 09-06 09:49 ?0次下載
    優秀<b class='flag-5'>實踐</b>:I3C共享總<b class='flag-5'>線上</b>的I2C器件

    【「時間序列與機器學習」閱讀體驗】+ 簡單建議

    這本書以其系統性的框架和深入淺出的講解,為讀者繪制了一幅時間序列分析機器學習融合應用的宏偉藍圖。作者不僅扎實地構建了時間序列分析的基礎知識,更巧妙地展示了機器學習如何在這一領域發揮巨
    發表于 08-12 11:21

    振弦采集儀的工程安全監測實踐與案例分析

    振弦采集儀的工程安全監測實踐與案例分析 振弦采集儀是一種常用的工程安全監測儀器,通過測量被監測結構的振動頻率與振型,可以實時監測結構的安全狀況。本文將結合實踐經驗和案例分析,探討振弦采
    的頭像 發表于 07-01 11:01 ?426次閱讀
    振弦采集儀的工程安全監測<b class='flag-5'>實踐</b>與案例<b class='flag-5'>分析</b>

    頻譜儀測量功能之占用帶寬、時域功率、諧波分析講解

    頻譜儀測量功能之占用帶寬、時域功率、諧波分析講解
    的頭像 發表于 06-26 14:34 ?2416次閱讀
    頻譜儀測量功能之<b class='flag-5'>占用</b>帶寬、時域功率、諧波<b class='flag-5'>分析</b>講解

    宇樹科技 Unitree G1 9.9萬元機器人面世,電機成本分析

    人形機器人價格戰要打響了?準備好迎接機器人成為你的生活伙伴了嗎? “地球上機器人的數量將超過人類,每個人都將擁有一臺機器人。”馬斯克曾描述過這樣的場景。 馬克斯的這一語言似乎正逐漸成為
    的頭像 發表于 06-06 11:02 ?1611次閱讀
    宇樹科技 Unitree G1 9.9萬元<b class='flag-5'>機器</b>人面世,電機成本<b class='flag-5'>分析</b>

    STM32H743接收CAN數據想要使用DMA,不占用CPU數據,能否實現?

    請教各位大佬,接收CAN數據想要使用DMA,不占用CPU數據,能否實現。 我在cubeMX例程FDCAN沒有DMA配置。網上也沒找到FDCAN使用DMA的。
    發表于 05-31 08:08