日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

大廠真實案例,CPU 升高問題如何排查?五分鐘掌握

來源: 責編: 時間:2024-06-07 17:20:01 347觀看
導讀好久沒寫技術文章了,今天下班“早”,簡單叨叨一篇。早下班的原因說起來也有點搞笑,是因為健身時候杠鈴把手上砸了個口子。砸傷當時我看了一眼,雖然很痛但骨頭沒事,竟然心中還有一絲慶幸。縫針吧,有點夸張,不處理吧,還挺深。于

好久沒寫技術文章了,今天下班“早”,簡單叨叨一篇。J1F28資訊網——每日最新資訊28at.com

早下班的原因說起來也有點搞笑,是因為健身時候杠鈴把手上砸了個口子。砸傷當時我看了一眼,雖然很痛但骨頭沒事,竟然心中還有一絲慶幸。縫針吧,有點夸張,不處理吧,還挺深。于是,我在從醫院處理完傷口后,有了這篇文章。J1F28資訊網——每日最新資訊28at.com

好了,言歸正傳。J1F28資訊網——每日最新資訊28at.com

CPU 升高問題案例

市面上通常對于 CPU 問題排查的案例面試比較少,基本上都在講:如果 CPU 升到 100% 怎么辦?J1F28資訊網——每日最新資訊28at.com

這確實是個高頻問題,必須需要流利回答。之前也寫過一篇文章,可以參考:J1F28資訊網——每日最新資訊28at.com

圖片圖片J1F28資訊網——每日最新資訊28at.com

重點問題!CPU利用率過高排查思路|原創J1F28資訊網——每日最新資訊28at.com

J1F28資訊網——每日最新資訊28at.com

真實案例

這是一個今天發生的真實案例(相關信息已脫敏處理,不影響案例本質)。J1F28資訊網——每日最新資訊28at.com

問題如下:這是一個比較大項目改動,改造的過程中涉及到了相當多下游接口的改動和相當多的依賴包。今天在上線發布后經過接口和功能驗證,需求發布成功。J1F28資訊網——每日最新資訊28at.com

但是接著,我發布完成后才發現機器的平均 CPU 負載升高,平均 CPU 負載幾乎升高了有 5-8 %,最高負載更是超過了 CPU 安全水位線。如此多的改動,到底是什么導致了 CPU 負載的上升?J1F28資訊網——每日最新資訊28at.com

我自己用 python 花了張圖,大概下面這個樣子J1F28資訊網——每日最新資訊28at.com

圖片圖片J1F28資訊網——每日最新資訊28at.com

問題出現,CPU 升高J1F28資訊網——每日最新資訊28at.com

快速處理: 我先快速對比了一下 CPU 負載升高的時間點,和發布時間基本對應,基本可以判斷是本次發布引起的。雖然并沒有影響到業務,但是發現問題后,我還是第一時間做了回滾處理。J1F28資訊網——每日最新資訊28at.com

注意:發布過程中出現任何問題不要想排查問題原因,直接回滾,血淚教訓的鐵律J1F28資訊網——每日最新資訊28at.com

排查問題

我排查問題的思路如下:J1F28資訊網——每日最新資訊28at.com

  1. 由于想到本次變更有很多新接口的引入,也有一些接口的對比代碼,會帶來額外的性能消耗,所以我先對比了發布前后的接口遠程調用情況,結果是調用量沒有明顯變化,RT 也正常。
  2. 服務也有 kafka 消息處理,同樣檢查消息組件情況,調用量沒有變化。
  3. 會不會是 GC 太多導致?檢查 JVM 情況,依舊正常,甚至還因為重啟機器表現要比之前好……
  4. 因為用到了線程池,會不會是因為使用線程池不合理,或者有什么死循環之類的。檢查活躍線程情況,依舊和發布前相似。
  5. 那只能考慮是因為引入的某個依賴引起的了,他導致了預期外的變化。

問題引入的依賴有很多,到底是哪個依賴引入的?我難道一個個下掉去排查嗎?J1F28資訊網——每日最新資訊28at.com

排除法,這也確實是一種辦法,只不過是太辛苦了,事倍功半。更不用說還需要下掉相關代碼,還得不斷去耗時發布,實在是繁瑣。J1F28資訊網——每日最新資訊28at.com

怎么辦呢?不賣關子了,直接上 Arthas。J1F28資訊網——每日最新資訊28at.com

Async-profiler

Arthas 使用 async-profiler 生成 CPU/內存火焰圖進行性能分析,彌補了之前內存分析的不足。J1F28資訊網——每日最新資訊28at.com

async-profiler 是一款開源的 Java 性能分析工具,原理是基于 HotSpot 的 API,以微乎其微的性能開銷收集程序運行中的堆棧信息、內存分配等信息進行分析。J1F28資訊網——每日最新資訊28at.com

官網:https://github.com/async-profiler/async-profilerJ1F28資訊網——每日最新資訊28at.com

我們常用的是 CPU 性能分析和 Heap 內存分配分析。在進行 CPU 性能分析時,僅需要非常低的性能開銷就可以進行分析。J1F28資訊網——每日最新資訊28at.com

在進行 Heap 分配分析時,async-profiler 工具會收集內存分配信息,而不是去檢測占用 CPU 的代碼。async-profiler 不使用侵入性的技術,例如字節碼檢測工具或者探針檢測等,這也說明 async-profiler 的內存分配分析像 CPU 性能分析一樣,不會產生太大的性能開銷,同時也不用寫出龐大的堆棧文件再去進行進一步處理,。J1F28資訊網——每日最新資訊28at.com

async-profiler 工具在采樣后可以生成采樣結果的日志報告,也可以生成 SVG 格式的火焰圖。J1F28資訊網——每日最新資訊28at.com

圖片圖片J1F28資訊網——每日最新資訊28at.com

具體使用大家直接去官網看文檔吧,有不懂留言。我這里直接說使用J1F28資訊網——每日最新資訊28at.com

使用 async-profiler 排查問題

進入測試服務器控制臺,使用 JPS 命令查看 PID 信息。J1F28資訊網——每日最新資訊28at.com

?  develop jps2800 Jps528 TestCode2450 Launcher

假設運行程序的名是 TestCode,可以看到對應的 PID 是 528。J1F28資訊網——每日最新資訊28at.com

使用下面命令:J1F28資訊網——每日最新資訊28at.com

./profiler.sh -d 20 -f 528.svg 528

對 528 號進程采樣20秒,然后得到生成的 528.svg 文件,然后我們使用瀏覽器打開這個文件,可以看到 CPU 的使用火焰圖,如下(這里用網絡圖片代替):J1F28資訊網——每日最新資訊28at.com

圖片圖片J1F28資訊網——每日最新資訊28at.com

關于火焰圖怎么看,一言以蔽之:火焰圖里,橫條越長,代表使用的越多,從下到上是調用堆棧信息。 在這個圖里可以看到 main 方法上面的調用中 hotmethod3 方法的 CPU 使用是最多的,點擊這個方法。還可能看到更詳細的信息。J1F28資訊網——每日最新資訊28at.com

那么我們現在只需要查找 hotmethod3 使用的地方在哪里,就可以定位到問題代碼。J1F28資訊網——每日最新資訊28at.com

當然,上面的是個代替 case,告訴你怎么看這個火焰圖。真實的 case 要比這個更難排查。如下圖,問題代碼是個線程,是由某個類調用的:J1F28資訊網——每日最新資訊28at.com

圖片圖片J1F28資訊網——每日最新資訊28at.com

排查問題依賴引入

問題代碼是一個 Thread 的 run 方法引起的,那么是誰調用的他呢?這個類的信息我打碼了,假設為 ClassA。J1F28資訊網——每日最新資訊28at.com

但是排查代碼,ClassA 根本沒有被項目代碼直接的調用,于是我找到了這個 CalssA 所屬的依賴包 dep-demoA,看他是誰引入的。J1F28資訊網——每日最新資訊28at.com

./gradlew :項目名:dependencyInsight --dependency dep-demoA

這個命令會打出一個項目的依賴樹,結果如下:J1F28資訊網——每日最新資訊28at.com

+--- com.ali:dep-demoA:1.0.0 (*)/--- com.ali:dep-demoB:1.0.0     /--- com.ali:dep-demoC:1.0.0

如上結果,項目中我是用的是 dep-demoC,結果他同時引入了 dep-demoB,我看了下這個 demoB,他很可能會跟 arthas 類似,通過 Java Agent技術和字節碼增強技術以實現一定的功能,這對程序是非常有損耗的。(所以線上不能開 arthas)J1F28資訊網——每日最新資訊28at.com

嘗試排除 demoB,代碼如下:J1F28資訊網——每日最新資訊28at.com

all*.exclude group: "com.ali", module: "dep-demoB"

然后重啟項目,CPU 負載下降,回歸到正常水平,問題解決。J1F28資訊網——每日最新資訊28at.com

圖片圖片J1F28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-92746-0.html大廠真實案例,CPU 升高問題如何排查?五分鐘掌握

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 避免刪庫跑路的辦法,你知道嗎?

下一篇: React 19 出手解決了異步請求的競態問題,是好事還是壞事?

標簽:
  • 熱門焦點
  • vivo TWS Air開箱體驗:真輕 臻好聽

    在vivo S15系列新機的發布會上,vivo的最新款真無線藍牙耳機vivo TWS Air也一同發布,本次就這款耳機新品給大家帶來一個簡單的分享。外包裝盒上,vivo TWS Air保持了vivo自家產
  • 2023 年的 Node.js 生態系統

    隨著技術的不斷演進和創新,Node.js 在 2023 年達到了一個新的高度。Node.js 擁有一個龐大的生態系統,可以幫助開發人員更快地實現復雜的應用。本文就來看看 Node.js 最新的生
  • 把LangChain跑起來的三個方法

    使用LangChain開發LLM應用時,需要機器進行GLM部署,好多同學第一步就被勸退了,那么如何繞過這個步驟先學習LLM模型的應用,對Langchain進行快速上手?本片講解3個把LangChain跑起來
  • 花7萬退貨退款無門:誰在縱容淘寶珠寶商家造假?

    來源:極點商業作者:楊銘在淘寶購買珠寶玉石后,因為保證金不夠賠付,店鋪關閉,退貨退款難、維權無門的比比皆是。“提供相關產品鑒定證書,支持全國復檢,可以30天無理由退換貨。&
  • ESG的面子與里子

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之三伏大幕拉起,各地高溫預警不絕,但處于厄爾尼諾大“烤”之下的除了眾生,還有各大企業發布的ESG報告。ESG是“環境保
  • 華為HarmonyOS 4.0將于8月4日發布 或搭載AI大模型技術

    華為宣布HarmonyOS4.0將于8月4日正式發布。此前,華為已經針對開發者公布了HarmonyOS4.0,以便于開發者提前進行適配,也因此被曝光出了一些新系統的特性
  • 自研Exynos回歸!三星Galaxy S24系列將提供Exynos和驍龍雙版本

    年初,全新的三星Galaxy S23系列發布,包含Galaxy S23、Galaxy S23+和Galaxy S23 Ultra三個版本,全系搭載超頻版驍龍8 Gen 2,雖同樣采用臺積電4nm工藝制
  • OPPO K11樣張首曝:千元機影像“卷”得真不錯!

    一直以來,OPPO K系列機型都保持著較為均衡的產品體驗,歷來都是2K價位的明星機型,去年推出的OPPO K10和OPPO K10 Pro兩款機型憑借各自的出色配置,堪稱有
  • Counterpoint :OPPO雙旗艦戰略全面落地 高端產品銷量增長22%

    2023年6月30日,全球行業分析機構Counterpoint Research發布的《中國智能手機高端市場白皮書》顯示,中國智能手機品牌正在尋求高質量發展,中國高端智能
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
精品1区2区3区4区| 欧美日一区二区在线观看 | 麻豆精品传媒视频| 欧美国产视频在线观看| 欧美色图麻豆| 国产亚洲一区二区在线观看| 一区在线视频| 一区二区三区四区五区精品视频| 亚洲免费一区二区| 理论片一区二区在线| 欧美日韩卡一卡二| 国产一区二区精品| 亚洲人被黑人高潮完整版| 亚洲午夜电影网| 久久久久99精品国产片| 欧美大胆成人| 国产精品日韩电影| 在线看视频不卡| 亚洲性视频网站| 久久亚洲视频| 国产精品国产精品| 在线电影欧美日韩一区二区私密| 在线性视频日韩欧美| 久久精品论坛| 亚洲人体1000| 亚洲天堂av高清| 久久视频免费观看| 国产精品国产三级国产专播精品人| 韩国女主播一区| 夜夜嗨网站十八久久| 久久精品国产77777蜜臀| 欧美日韩精品二区第二页| 国产主播一区| 亚洲无限av看| 欧美不卡高清| 国产亚洲欧美一区二区三区| av不卡在线观看| 噜噜噜在线观看免费视频日韩 | 国产精品一二| 亚洲日本欧美在线| 久久国产主播精品| 欧美系列精品| 亚洲欧洲在线一区| 久久久久久69| 国产乱码精品一区二区三区av| 亚洲精品永久免费| 久久婷婷国产麻豆91天堂| 国产精品无人区| 一区二区冒白浆视频| 欧美va天堂| 一区二区三区在线高清| 亚洲欧美日韩综合| 欧美日韩一区二区在线| 亚洲国产日日夜夜| 久久久久久尹人网香蕉| 国产欧美精品在线观看| 亚洲视频综合| 欧美日韩精品免费看| 91久久视频| 老色鬼久久亚洲一区二区| 国模私拍一区二区三区| 性欧美超级视频| 国产精品嫩草99a| 在线午夜精品自拍| 欧美伦理在线观看| 亚洲日本aⅴ片在线观看香蕉| 六月天综合网| 亚洲高清不卡一区| 久久只精品国产| 国产主播在线一区| 久久精品国产精品| 国产日韩在线亚洲字幕中文| 亚洲欧洲av一区二区| 国产精品乱码一区二三区小蝌蚪 | 国产精品美女主播在线观看纯欲| 99香蕉国产精品偷在线观看| 欧美国产日韩一区二区三区| 亚洲高清在线| 蜜桃av久久久亚洲精品| 永久555www成人免费| 久久一二三区| 在线观看日韩www视频免费| 久久亚洲国产精品日日av夜夜| 激情婷婷欧美| 老司机成人网| 亚洲黄色高清| 麻豆成人在线| 最近看过的日韩成人| 欧美成人首页| 亚洲美女在线看| 欧美日韩综合另类| 亚洲一区二区四区| 国产精品五区| 欧美伊人久久久久久久久影院| 国产一区二区福利| 久久午夜精品| 亚洲欧洲一区二区三区| 欧美日韩直播| 亚洲欧美综合精品久久成人| 国产日韩欧美一二三区| 久久久久99精品国产片| 在线成人亚洲| 欧美精品性视频| 亚洲无线视频| 国产欧美在线播放| 久久―日本道色综合久久| 亚洲国产一区二区三区a毛片| 欧美精品v日韩精品v韩国精品v| 一本色道久久88亚洲综合88| 国产精品日本| 久久午夜影视| 日韩午夜一区| 国产欧美日韩视频| 麻豆精品网站| 在线亚洲观看| 国产在线观看91精品一区| 免费成人av在线| 中文在线资源观看视频网站免费不卡| 国产精品夜色7777狼人| 久久在线免费观看| 夜夜嗨av色一区二区不卡| 国产精品永久| 米奇777在线欧美播放| 日韩一级黄色片| 国产日韩一区二区三区在线| 农村妇女精品| 亚洲自拍偷拍色片视频| 伊人一区二区三区久久精品| 欧美日韩免费观看一区=区三区| 午夜国产精品视频免费体验区| 娇妻被交换粗又大又硬视频欧美| 欧美精品免费在线观看| 香蕉成人伊视频在线观看| 亚洲国产精品美女| 欧美午夜视频| 久久躁狠狠躁夜夜爽| 亚洲网站在线| 在线日韩欧美| 国产精品萝li| 欧美成人午夜激情在线| 午夜精品影院| 亚洲精品一区二区在线观看| 国产精品一级二级三级| 欧美jizzhd精品欧美巨大免费| 亚洲欧美久久久久一区二区三区| 亚洲国产成人一区| 国产精品少妇自拍| 欧美激情中文字幕在线| 久久大逼视频| 这里只有视频精品| 亚洲高清不卡| 国产在线观看一区| 国产精品成人一区二区艾草| 美女视频一区免费观看| 午夜在线播放视频欧美| 日韩视频一区| 曰本成人黄色| 国产日本欧洲亚洲| 欧美三区视频| 欧美二区在线| 久久亚洲春色中文字幕| 亚洲欧美日韩综合aⅴ视频| 亚洲毛片av在线| 一色屋精品视频免费看| 国产日韩欧美一区| 国产精品va在线| 欧美精品免费在线| 久久婷婷久久| 久久不射电影网| 亚洲欧美韩国| 一区二区三区四区国产| 亚洲精品一二三区| 亚洲第一在线综合在线| 韩国精品在线观看| 国产精品一区免费观看| 欧美日韩精品免费观看视频完整| 噜噜噜91成人网| 久久九九全国免费精品观看| 亚洲欧美日韩人成在线播放| 一本色道久久综合狠狠躁篇的优点| 亚洲高清不卡在线观看| 国产主播精品在线| 国产欧美综合在线| 国产精品视频大全| 国产精品草莓在线免费观看| 欧美日韩大片一区二区三区| 欧美不卡激情三级在线观看| 狂野欧美性猛交xxxx巴西| 久久久久久网站| 久久久久一区二区三区| 久久精品成人| 久久精品五月| 久久久国产午夜精品| 久久国产乱子精品免费女| 欧美在线观看天堂一区二区三区| 亚洲小视频在线| 中国成人亚色综合网站| 一区二区日韩免费看| 在线视频精品| 中文一区在线| 一区二区久久| 亚洲一级影院| 午夜国产一区| 久久精品女人的天堂av|