中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用MAT進行JVM內存分析

發布時間:2023-04-26 15:47:21 來源:億速云 閱讀:91 作者:iii 欄目:開發技術

本篇內容介紹了“怎么使用MAT進行JVM內存分析”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

    背景描述

    公司小程序商城項目,服務器為阿里云。

    前段時間總是出現服務器CPU報警現象(設置的閾值為95%,CPU使用率大于95%會自動報警)。

    通過占用命令查看,迅速鎖定當前運行的java進程。

    基礎知識

    MAT簡介

    Eclipse Memory Analyzer是一個快速且功能豐富的Java堆分析器,可幫助您查找內存泄漏并減少內存消耗。

    使用Memory Analyzer分析具有數億個對象的高效堆轉儲,快速計算對象的保留大小,查看誰阻止垃圾收集器收集對象,運行報告以自動提取泄漏嫌疑者。

    Heap Dump

    首先了解下Heap Dump,它也叫堆轉儲文件,是java進程在某個時間內的快照。

    它在觸發快照的時候保存了很多信息:java對象和類信息。

    通常在寫Heap Dump文件前會觸發一次Full GC。

    獲取Dump

    • 通過OOM獲取,即在OutOfMemoryError后獲取一份HPROF二進制Heap Dump文件,可以在jvm里添加參數:

    • 通過OOM獲取,即在OutOfMemoryError后獲取一份HPROF二進制Heap Dump文件,可以在jvm里添加參數:

    • -XX:+HeapDumpOnOutOfMemoryError

    • 主動獲取,即在虛擬機添加參數如下,然后在Ctrl+Break組合鍵即可獲取一份Heap Dump

    • -XX:+HeapDumpOnCtrlBreak

    • 使用HPROF agent

    • 使用Agent可以在程序執行結束時或受到SIGOUT信號時生成Dump文件。配置在虛擬機的參數如下:

    • -agentlib:hprof=heap=dump,format=b

    • jmap 可以在cmd里執行,命令如下:

    • jmap -dump:format=b file=<文件名XX.hprof>

    • 使用JConsole

    分析實戰

    首先獲取dump,jmap -dump:format=b file=<文件名XX.hprof>

    使用MAT工具進行日志解析,根據日志的大小不同,解析時間不同。File>Open Heap Dump。

    怎么使用MAT進行JVM內存分析

    日志分析。可以看出,存在兩個較大的問題,每個大約占用1G的空間

    怎么使用MAT進行JVM內存分析

    查看Problem Suspect 1的詳細信息、線程的樹結構以及線程對象匯總,發現Member對象有近52萬個存活對象

    怎么使用MAT進行JVM內存分析

    怎么使用MAT進行JVM內存分析

    怎么使用MAT進行JVM內存分析

    分析線程棧信息,定位問題發生位置,并進行方法優化

    怎么使用MAT進行JVM內存分析

    怎么使用MAT進行JVM內存分析

    “怎么使用MAT進行JVM內存分析”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    布尔津县| 台南县| 万全县| 乌拉特中旗| 盐津县| 祁连县| 沈阳市| 固原市| 临沧市| 仪征市| 东至县| 九龙城区| 河池市| 兴和县| 建始县| 灌云县| 延川县| 连平县| 吉隆县| 西吉县| 梁河县| 赫章县| 徐水县| 杭州市| 永顺县| 仙居县| 盖州市| 新疆| 邹平县| 临泉县| 通辽市| 永仁县| 浦北县| 黑山县| 扶绥县| 砀山县| 红河县| 铁力市| 金川县| 尼勒克县| 桦南县|