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

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

JVM 性能調優之通過 JProfile 和 JFR 分析系統瓶頸提升系統性能

來源: 責編: 時間:2024-04-02 17:23:23 288觀看
導讀生成 jfrJDK飛行記錄器(JFR)是一種結構化日志記錄工具, 它記錄廣泛的系統級(system-level)事件。類似于飛機上的黑盒子,它會持續記錄飛行數據,用于調查飛行事故。JFR會持續記錄JVM中的 一系列事件,用于診斷問題。這種方式

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

生成 jfr

JDK飛行記錄器(JFR)是一種結構化日志記錄工具, 它記錄廣泛的系統級(system-level)事件。類似于飛機上的黑盒子,它會持續記錄飛行數據,用于調查飛行事故。JFR會持續記錄JVM中的 一系列事件,用于診斷問題。這種方式的優勢是,它會按時間順序,捕獲導致事故的,詳細系統信息。JFR被設計的,對于性能影響很小,所以 可以安全地在生產環境長時間運行。mzn28資訊網——每日最新資訊28at.com

優勢:mzn28資訊網——每日最新資訊28at.com

  • 對于運行系統的影響比較小,額外占用資源小于 1%
  • 生成的文件比較小,通常生成 10 多分鐘的文件往往小于 1G

查詢 java 進程

通過 jps 命令查詢。mzn28資訊網——每日最新資訊28at.com

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

通過 ps -ef | grep java 查詢。mzn28資訊網——每日最新資訊28at.com

生成 jfr 文件

生成飛行記錄,使用 JFR.start 該實用程序的診斷命令 jcmd。mzn28資訊網——每日最新資訊28at.com

jcmd 84743 JFR.start duratinotallow=5m settings=profile filename=~/jfr/xxkk.jfr

JProfile 介紹

JProfiler是一個用于分析運行JVM內部情況的專業工具。在開發中你可以使用它,用于質量保證,也可以解決你的生產系統遇到的問題。
JProfiler處理四個主要問題:mzn28資訊網——每日最新資訊28at.com

  • 方法調用這通常被稱為"CPU分析"。方法調用可以通過不同的方式進行測量和可視化, 分析方法調用可以幫助了解你的應用程序正在做什么,并找到提高其性能的方法。
  • 分配分析堆上對象的分配、引用鏈和垃圾回收屬于"內存分析"的范疇。這個功能可以讓你解決內存泄漏,總之使用更少的內存,分配更少的臨時對象。
  • 線程和鎖線程可以持有鎖,例如通過在一個對象上做同步。當多個線程協作時,可能會出現死鎖,JProfiler可以為你可視化這種情況。此外,鎖可能被爭用,這意味著線程在獲得鎖之前必須等待。通過JProfiler可以深入了解線程及其各種鎖情形。
  • 高層子系統許多性能問題發生在更高的語義層面。例如,對于JDBC調用,你可能想找出哪條SQL語句是最慢的。對于這樣的子系統,JProfiler提供了"探針",將特定有效載荷附加到調用樹。

JProfiler的UI是一個桌面應用程序。你可以以交互的方式實時分析JVM,也可以在不使用UI的情況下,自動化分析。保存在快照中的分析數據,可以通過JProfiler UI打開。此外,命令行工具和構建工具集成可以幫助你自動分析會話。mzn28資訊網——每日最新資訊28at.com

注意:JProfile 是商業軟件,希望大家在使用的過程中購買正版授權mzn28資訊網——每日最新資訊28at.com

內存分析

記錄的對象

內存分析中,可以通過記錄的對象找到最耗費內存的對象。只有總對象大小超過固定閾值(通常是堆的1%)的類才會被記錄。默認情況下,JFR中禁用了這個功能,因為它會引入大量的開銷。
下面兩個字段的解釋:mzn28資訊網——每日最新資訊28at.com

  • **實例計數示例, **可以看到某個用例的堆上還剩下哪些對象(實際上會小于總大小除以每個對象的平均大小)。
  • 預估總大小,這個是一個預估值,預估在開始 jfr 記錄,到 jfr 記錄結束這個類的實例總大小

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

https://docs.oracle.com/en/java/javase/17/docs/specs/man/jfr.html。mzn28資訊網——每日最新資訊28at.com

分配熱點

分配熱點視圖與分配調用樹一起,允許你直接關注負責創建所選類的方法。就像記錄的對象視圖,分配熱點視圖也支持標記當前狀態和觀察一段時間內的差值。視圖中會添加一個差值列,它顯示了熱點自當_標記當前值_操作被調用后的變化。因為默認情況下,分配視圖不會定期更新,所以你必須單擊_計算_工具欄按鈕以獲得一個新數據集然后與基線值比較。mzn28資訊網——每日最新資訊28at.com

計算熱點:mzn28資訊網——每日最新資訊28at.com

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

熱點分析:mzn28資訊網——每日最新資訊28at.com

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

熱點的分配類:mzn28資訊網——每日最新資訊28at.com

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

找到主要是因為 byte[] 數組分配,成為一個分配熱點方法。mzn28資訊網——每日最新資訊28at.com

測試代碼

/** * VM ARG : -Xms64m -Xmx64m */public static void main(String[] args) throws InterruptedException {    List<byte[]> list = new ArrayList<>(1000);    //2kb * 10 * 120 = 2400kb    //數量 = 10 * 120 / 10 = 120    for (int i = 0; i < 10000; i++) {        Thread.sleep(100);        byte[] arr = new byte[1024 * 2];        list.add(arr);    }}

CPU 分析

調用樹

跟蹤所有的方法調用及其調用棧會消耗相當大的內存,短時間內就會耗盡所有內存。另外,在一個繁忙的JVM中,很難直觀獲得方法調用的數量。通常情況下,這個數字是如此之大,以至于定位和跟隨跟蹤是不可能的。
另一個方面,只有將收集到的數據進行匯總,許多性能問題才會變得清晰。這樣,你就可以知道在某個時間段內,方法調用相對于整個活動的重要性。如果是單一的跟蹤,你對你所看的數據的相對重要性沒有概念。
這就是為什么JProfiler建立了一個所有觀察到的調用堆棧的累積樹,并注解有觀察到的時間和調用次數。時間順序信息被消除,只保留總數。樹中的每個節點代表一個至少被觀察過一次的調用堆棧。節點的子節點代表在該調用堆棧中看到的所有傳出調用。
mzn28資訊網——每日最新資訊28at.com

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

調用樹是"CPU視圖"部分的第一個視圖,當你開始進行CPU分析時,它是一個很好的起點, 因為遵循方法調用從起點到最細化的終點的自上而下視圖,最容易理解。JProfiler按照子節點的總時間進行排序,所以你可以深度優先打開樹,分析對性能影響最大的部分。mzn28資訊網——每日最新資訊28at.com

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

熱點

如果你的應用程序運行得太慢,你要找到那些占用大部分時間的方法。通過調用樹,有時可以直接找到這些方法, 但通常這樣做是行不通的,因為調用樹可能很大而且有大量葉節點
在這種情況下,你需要反轉調用樹:一個所有方法的列表,按其總的自身時間排序,從所有不同的調用堆棧中累計出來, 并通過回溯跟蹤顯示這些方法是如何被調用的。在熱點樹中,葉節點是入口點, 就像應用程序的main 方法或線程的run 方法。從熱點樹中最深的節點開始,調用向上傳遞到頂層節點。mzn28資訊網——每日最新資訊28at.com

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

回溯跟蹤中的調用次數和執行時間并不是指該方法節點,而是指頂層熱點節點在這條路徑上被調用的次數。理解這一點很重要:粗略一看,你會認為看到的節點上的信息是該節點的調用次數。然而,在熱點樹中,該信息顯示的是該節點對頂層節點的貢獻。所以,你必須這樣理解這些數字: 沿著這個倒置的調用堆棧,頂層熱點被調用了n 次,總持續時間為t 秒。mzn28資訊網——每日最新資訊28at.com

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

通過這里可以看到這個 CASE 是因為正則導致的 CPU 熱點。mzn28資訊網——每日最新資訊28at.com

測試代碼

static String pattern = " ^([//u4e00-//u9fa5]+)((·[//u4e00-//u9fa5]+)+|([//u4e00-//u9fa5]+))$";static String defaultName = "張三·無論其是看都看吶阿斯頓啊·薩肯薩肯打開你發都看啊看你發個卡看那可能發看那個可能看吶";public static void main(String[] args) throws InterruptedException {    int time = 1;    String result;    while (true) {        if (time > 0) {            Thread.sleep(time);        }        result = defaultName.matches(pattern) ? "姓名合法" : "姓名不合法";    }}

參考文檔

  • jcmd 指令詳解:https://docs.oracle.com/javacomponents/jmc-5-5/jfr-command-reference/diagnostic-command-reference.htm。
  • 生成 jfr 文件:https://docs.oracle.com/javacomponents/jmc-5-5/jfr-runtime-guide/run.htm。
  • jprofile 中文手冊:https://www.ej-technologies.com/resources/jprofiler/v/13.0/help_zh_CN/doc/main/memory.html。

本文鏈接:http://m.www897cc.com/showinfo-26-80887-0.htmlJVM 性能調優之通過 JProfile 和 JFR 分析系統瓶頸提升系統性能

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

上一篇: Go 開發踩過的那些坑,你踩過幾個?

下一篇: 利用生成對抗性網絡進行欺詐檢測

標簽:
  • 熱門焦點
  • Redmi Buds 4開箱簡評:才199還有降噪 可以無腦入

    在上個月舉辦的Redmi Note11T Pro系列新機發布會上,除了兩款手機新品之外,Redmi還帶來了兩款TWS真無線藍牙耳機產品,Redmi Buds 4和Redmi Buds 4 Pro,此前我們在Redmi Note11T
  • 6月iOS設備性能榜:M2穩居榜首 A系列只能等一手3nm來救

    沒有新品發布,自然iOS設備性能榜的上榜設備就沒有什么更替,僅僅只有跑分變化而產生的排名變動,畢竟蘋果新品的發布節奏就是這樣的,一年下來也就幾個移動端新品,不會像安卓廠商,一
  • JavaScript 混淆及反混淆代碼工具

    介紹在我們開始學習反混淆之前,我們首先要了解一下代碼混淆。如果不了解代碼是如何混淆的,我們可能無法成功對代碼進行反混淆,尤其是使用自定義混淆器對其進行混淆時。什么是混
  • K6:面向開發人員的現代負載測試工具

    K6 是一個開源負載測試工具,可以輕松編寫、運行和分析性能測試。它建立在 Go 和 JavaScript 之上,它被設計為功能強大、可擴展且易于使用。k6 可用于測試各種應用程序,包括 Web
  • 虛擬鍵盤 API 的妙用

    你是否在遇到過這樣的問題:移動設備上有一個固定元素,當激活虛擬鍵盤時,該元素被隱藏在了鍵盤下方?多年來,這一直是 Web 上的默認行為,在本文中,我們將探討這個問題、為什么會發生
  • 網紅炒股不為了賺錢,那就是耍流氓!

    來源:首席商業評論6月26日高調宣布入市,網絡名嘴大v胡錫進居然進軍了股市。在一次財經媒體峰會上,幾個財經圈媒體大佬就&ldquo;胡錫進炒股是否知道認真報道&rdquo;展開討論。有
  • 小米MIX Fold 3配置細節曝光:搭載領先版驍龍8 Gen2+罕見5倍長焦

    這段時間以來,包括三星、一加、榮耀等等有不少品牌旗下的最新折疊屏旗艦都得到了不少爆料,而小米新一代折疊屏旗艦——小米MIX Fold 3此前也屢屢被傳
  • 國行版三星Galaxy Z Fold5/Z Flip5發布 售價7499元起

    2023年8月3日,三星電子舉行Galaxy新品中國發布會,正式在國內推出了新一代折疊屏智能手機三星Galaxy Z Fold5與Galaxy Z Flip5,以及三星Galaxy Tab S9
  • iQOO Neo8系列今日官宣:首發天璣9200+ 全球安卓最強芯!

    在昨日舉行的的聯發科新一代旗艦芯片天璣9200+的發布會上,iQOO官方也正式宣布,全新的iQOO Neo8系列新品將全球首發搭載這款當前性能最強大的移動平臺
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
欧美日韩成人免费| 亚洲国产综合视频在线观看| 欧美区一区二| 国产精品qvod| 国产亚洲福利社区一区| 在线观看亚洲精品| 日韩天堂av| 小嫩嫩精品导航| 久久综合久久综合九色| 欧美黄网免费在线观看| 欧美色综合天天久久综合精品| 国产精品一区二区男女羞羞无遮挡| 狠狠爱综合网| 99国产精品久久久久久久成人热| 一区二区三区欧美成人| 欧美在线视频导航| 欧美激情一区二区三级高清视频 | 小嫩嫩精品导航| 嫩草国产精品入口| 国产精品久久久久久久久搜平片| 狠狠综合久久av一区二区老牛| 亚洲精品久久久久久下一站 | 99视频在线观看一区三区| 欧美一级片久久久久久久| 欧美18av| 国产日韩欧美在线看| 亚洲免费不卡| 久久久久国产精品麻豆ai换脸| 欧美日韩精品欧美日韩精品一 | 国产亚洲在线观看| av不卡在线| 久久永久免费| 国产精品青草久久| 亚洲欧洲日韩女同| 久久精品99久久香蕉国产色戒| 欧美日韩国产亚洲一区| 伊人色综合久久天天| 国产精品99久久久久久宅男| 久久一区精品| 国产麻豆精品在线观看| 亚洲精品日韩在线| 久久免费高清| 国产精品影视天天线| 日韩亚洲成人av在线| 久久久国产一区二区| 国产精品久久久久久五月尺| 亚洲三级性片| 巨胸喷奶水www久久久免费动漫| 国产精品中文在线| 在线视频欧美一区| 欧美激情亚洲一区| 1769国产精品| 久久久精品一区| 国产农村妇女毛片精品久久莱园子 | 欧美一区二区三区久久精品 | 国产麻豆精品久久一二三| 亚洲伦理在线观看| 免费成人av在线看| 精品成人在线| 欧美专区日韩视频| 国产精品一区二区久久久久| 亚洲图片在线| 欧美日韩国产综合在线| 亚洲日本黄色| 欧美成人国产va精品日本一级| 黑人巨大精品欧美黑白配亚洲| 亚洲欧美三级伦理| 国产精品国产三级国产普通话蜜臀 | 久久久久欧美精品| 国产视频在线观看一区二区三区| 亚洲男人av电影| 国产精品成人久久久久| 一本色道久久99精品综合| 欧美激情视频网站| 亚洲国产天堂久久国产91| 久久亚洲影院| 一区二区视频免费在线观看| 久久精品视频播放| 国产主播一区二区| 欧美在线影院| 国产午夜精品理论片a级大结局| 亚洲欧美区自拍先锋| 国产精品日韩欧美一区二区三区| 亚洲一区二区三区激情| 国产精品久久| 亚洲男人第一av网站| 国产精品伦一区| 亚洲欧美视频在线观看视频| 国产精品一区二区三区四区五区| 亚洲欧美美女| 国产性猛交xxxx免费看久久| 久久国产88| 很黄很黄激情成人| 久久综合亚洲社区| 最新国产精品拍自在线播放| 欧美国产一区二区| 99re热精品| 国产精品久久久久久久久果冻传媒| 亚洲中无吗在线| 国产日韩精品一区观看| 久久久久久日产精品| 亚洲第一主播视频| 欧美精品不卡| 一区二区三区四区五区精品| 国产精品毛片va一区二区三区| 亚洲欧美视频在线| 国产一区二区三区日韩欧美| 久久先锋资源| 日韩视频二区| 国产精品久久二区二区| 欧美在线啊v一区| 影院欧美亚洲| 欧美日本不卡高清| 亚洲一区二区三区精品在线观看| 国产精品欧美日韩一区二区| 久久精品国产96久久久香蕉| 亚洲第一主播视频| 欧美日本国产在线| 亚洲一区二区三区午夜| 国产一区二区久久| 欧美高清在线播放| 亚洲综合欧美日韩| 伊人色综合久久天天| 欧美日韩国产影院| 欧美一区二区三区在线观看视频| 伊人影院久久| 欧美视频一区| 久久久久成人精品免费播放动漫| 亚洲国产视频一区二区| 99热在这里有精品免费| 国产精品永久入口久久久| 久久综合导航| 亚洲图片在线观看| 黄色精品网站| 欧美日韩免费观看一区| 欧美在线视屏| 99国产精品自拍| 国内精品国产成人| 欧美日韩视频在线一区二区| 久久国内精品视频| 日韩一级视频免费观看在线| 国产一区二区三区四区在线观看| 欧美—级在线免费片| 欧美一区二区高清| 亚洲美女诱惑| 狠狠入ady亚洲精品| 国产精品www| 麻豆精品视频在线观看| 亚洲砖区区免费| 最新成人在线| 国产伊人精品| 欧美午夜宅男影院在线观看| 老司机免费视频一区二区| 亚洲无玛一区| 亚洲黄色av| 国产永久精品大片wwwapp| 欧美日韩精品免费观看视频完整| 久久亚洲国产成人| 午夜国产精品视频| 99精品视频一区| 亚洲福利视频在线| 国产亚洲精品bt天堂精选| 欧美日韩免费一区二区三区视频| 久久先锋影音av| 欧美亚洲一区二区在线| 一区二区三区鲁丝不卡| 亚洲国产欧美一区二区三区久久 | 欧美专区在线播放| 亚洲视频香蕉人妖| 亚洲欧洲在线播放| 精品91视频| 国产日韩一区二区三区| 欧美午夜视频一区二区| 欧美激情影音先锋| 美女诱惑一区| 久久久无码精品亚洲日韩按摩| 午夜精品久久久久99热蜜桃导演| 99精品国产热久久91蜜凸| 亚洲国产精品一区二区尤物区| 国产一区二区三区最好精华液| 国产精品欧美日韩久久| 欧美视频免费在线| 欧美精品九九| 欧美成人tv| 免费在线亚洲| 老鸭窝亚洲一区二区三区| 久久久久成人精品| 久久久久久9| 久久精品视频网| 久久成人人人人精品欧| 午夜精品在线观看| 亚洲欧美激情精品一区二区| 亚洲一区二区av电影| 国产精品99久久久久久宅男| 夜夜嗨av色综合久久久综合网| 最新国产の精品合集bt伙计| 亚洲国产成人av| 亚洲第一搞黄网站| 亚洲第一精品夜夜躁人人躁| 在线播放豆国产99亚洲| 在线观看成人小视频| 亚洲第一精品在线| 亚洲国产成人久久综合一区| 亚洲第一精品影视|