国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

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

開發 開發工具
JProfiler是一個用于分析運行JVM內部情況的專業工具。在開發中你可以使用它,用于質量保證,也可以解決你的生產系統遇到的問題。

生成 jfr

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

優勢:

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

查詢 java 進程

通過 jps 命令查詢。

通過 ps -ef | grep java 查詢。

生成 jfr 文件

生成飛行記錄,使用 JFR.start 該實用程序的診斷命令 jcmd。

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

JProfile 介紹

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

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

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

注意:JProfile 是商業軟件,希望大家在使用的過程中購買正版授權

內存分析

記錄的對象

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

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

https://docs.oracle.com/en/java/javase/17/docs/specs/man/jfr.html。

分配熱點

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

計算熱點:

熱點分析:

熱點的分配類:

找到主要是因為 byte[] 數組分配,成為一個分配熱點方法。

測試代碼

/**
 * 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建立了一個所有觀察到的調用堆棧的累積樹,并注解有觀察到的時間和調用次數。時間順序信息被消除,只保留總數。樹中的每個節點代表一個至少被觀察過一次的調用堆棧。節點的子節點代表在該調用堆棧中看到的所有傳出調用。

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

熱點

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

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

通過這里可以看到這個 CASE 是因為正則導致的 CPU 熱點。

測試代碼

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。
責任編輯:姜華 來源: 運維開發故事
相關推薦

2013-03-20 17:18:07

Linux系統性能調優

2011-03-18 11:13:07

LAMP度量性能

2021-07-15 08:00:47

系統性能調優cpunuma架構

2011-03-21 09:35:38

LAMP調優網絡文件

2011-03-21 09:17:35

LAMP調優磁盤

2013-02-28 13:37:59

系統性能調優技術實戰

2011-03-10 14:40:54

LAMPMysql

2013-03-12 17:33:17

Linux系統性能調優

2011-03-10 14:40:52

2011-03-18 11:21:48

2011-03-10 14:40:50

2017-07-21 08:55:13

TomcatJVM容器

2011-03-18 11:00:48

LAMPLAMP 架構

2013-03-18 15:35:30

2011-07-01 10:09:50

ASP.NET

2017-07-04 13:02:02

Linux系統性能調優工具

2019-08-13 08:32:14

MySQL數據庫性能調優

2024-11-08 14:27:52

系統設計數據庫

2011-05-27 10:35:05

PerfLinux系統性能

2024-12-04 15:49:29

點贊
收藏

51CTO技術棧公眾號

精品人在线二区三区| 日本道精品一区二区三区| 国产精品久久亚洲不卡| 国产精品美女久久久久aⅴ | 91精品国产综合久久香蕉| 91九色丨porny丨国产jk| 91麻豆精品激情在线观看最新 | 一本色道久久综合亚洲二区三区 | 一区二区三区视频免费在线观看| 爆乳熟妇一区二区三区霸乳| 久久久久高清| 欧美人动性xxxxz0oz| 看电视剧不卡顿的网站| 久久久久久av| 日韩a在线看| 中文字幕在线免费不卡| 日韩欧美一卡二卡| wwwwww欧美| 国产91在线免费| 九色精品91| 7777在线视频| 爱看av在线| 欧美一区二区精品在线| www.日韩系列| 深夜福利亚洲| 国产精品久久久久久婷婷天堂 | 精品少妇人妻av一区二区| 久草热视频在线观看| 国产一级粉嫩xxxx| 麻豆精品精品国产自在97香蕉| 美女福利视频一区| 韩国精品主播一区二区在线观看| 一区二区久久久| 欧美精品欧美精品系列| 日韩av大全| 日本成本人片免费观看| 成人av电影在线观看| 久久精品日产第一区二区三区| 欧美三区四区| 日韩美女视频在线| 国产成免费视频| 99久久久久免费精品国产| 婷婷视频在线播放| 精品欧美aⅴ在线网站| 一本久道久久综合狠狠爱亚洲精品| 亚洲乱码一区| 国产福利在线免费观看| 国产成人高清在线| 国内精品久久久久| 国产情侣av自拍| 亚洲精品18| 亚洲国产欧美一区| 免费网站www在线观看| 美腿丝袜亚洲色图| 午夜在线不卡| 一区二区三区中文字幕电影| 国产精品久久久久福利| 黄色免费在线播放| 欧美激情综合色综合啪啪| 亚洲最大黄色| 888久久久| 在线观看精品自拍私拍| 看欧美ab黄色大片视频免费| 在线免费看黄色| 亚洲综合影院| xvideos亚洲人网站| 奇米一区二区| 国产精品国色综合久久| zzijzzij亚洲日本少妇熟睡| 中文在线有码| 婷婷六月综合| 精品电影一区二区三区| 午夜精品网站| 老头吃奶性行交视频| 亚洲精品大尺度| 日本免费成人| 国产精品视频久久久| 妖精视频成人观看www| 亚洲五码在线观看视频| 中文字幕一区二区三| 亚洲色图16p| 日韩一区二区三区观看| 另类专区亚洲| 91精品久久久久久久久久| 国内视频精品| 日本公妇乱淫免费视频一区三区| 99国产精品| 99在线国产| 国产精品综合二区| 五月天丁香婷| 好吊色欧美一区二区三区| 亚洲欧美日韩久久| 意大利激情丛林无删减版dvd| 欧美在线小视频| 天天干天天综合| 中文字幕一区二区三区在线播放| 日韩影片在线播放| 国产精品毛片| 国产精品区免费视频| 亚洲一级网站| 宅男一区二区三区| 日韩精品在线观看一区二区| 亚洲区欧美区| 伊人一区二区三区久久精品| 激情综合网天天干| 精品久久久久久久久久久久| 岛国成人av| 中文字幕国产亚洲2019| 不卡一区在线观看| 操欧美女人视频| 精品视频二区| 亚洲一区二区三区欧美| 这里只有精品电影| 91亚洲精华国产精华精华液| 国语精品一区| 在线观看av的网站| 国精产品99永久一区一区| 国产在线网站| 欧美第一黄色网| 91美女福利视频| 3d欧美精品动漫xxxx无尽| 久久综合狠狠综合久久综青草| h视频在线免费观看| 日韩av电影中文字幕| 国产精品久久久久久久久免费桃花| 亚洲爽爆av| av黄色在线网站| 亚洲免费av电影| 噜噜噜久久亚洲精品国产品麻豆| 日韩欧美福利视频| 久久中文字幕导航| 写真福利精品福利在线观看| 日本综合在线| 91久久中文字幕| 狠狠色狠狠色综合日日五| 福利视频网站| 欧美日本一区二区三区| 国产精品自拍区| 99在线欧洲视频| 日韩精品中文字幕在线| 日韩国产精品久久久久久亚洲| 里番在线播放| 欧美精品尤物在线| 欧美成人激情视频免费观看| 色噜噜狠狠成人中文综合| 一区在线中文字幕| 国产精品女同互慰在线看 | 久久精品国产精品| 色呦呦国产精品| 青青草视频一区| 久久久久久免费视频| 97色成人综合网站| 在线成人视屏| 成人做爰视频www网站小优视频| 尤物在线网址| av成人福利| 欧美videossex| 午夜免费视频在线国产| 佐山爱痴汉视频一区二区三区| 国产免费色视频| 91国内精品久久| 一区二区欧美在线| 欧美日韩美女在线观看| 国产999精品久久| 国产成a人亚洲| 久热精品视频| 91一区在线| 日本电影一区二区| 精品国产18久久久久久二百| 超碰超碰在线观看| 欧美少妇一区| 久久人91精品久久久久久不卡| 色一情一伦一子一伦一区| 成人午夜激情在线| 一级做a爱片久久| 日韩成人在线视频| 久久91精品国产91久久小草| 激情综合网站| 色视频网站在线| 亚洲五码在线观看视频| 国产综合第一页| 欧美一区亚洲一区| 欧美成人免费在线视频| 78色国产精品| 国产日韩欧美一区二区| 亚洲精品偷拍视频| 免费h片在线| 小说区图片区亚洲| 成人免费网站在线| 91在线观看免费高清完整版在线观看| 国产一区二区精品免费| 久久亚洲国产成人精品无码区| 免费特级黄色片| 国产女人在线视频| 超碰一区二区| 亚洲精品国产setv| 欧美天天在线| 亚洲一区二区三区中文字幕在线 | 欧美私模裸体表演在线观看| 6080午夜不卡|