91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

怎么使用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

    抚顺市| 宁强县| 轮台县| 西丰县| 合山市| 桂阳县| 贡觉县| 上林县| 肥东县| 通道| 新密市| 滨海县| 车致| 平度市| 白玉县| 阳曲县| 加查县| 台中县| 保定市| 乌海市| 武川县| 德清县| 河曲县| 绥棱县| 阿鲁科尔沁旗| 康乐县| 包头市| 盐池县| 中西区| 南投市| 丹巴县| 长沙市| 南昌市| 兴化市| 理塘县| 澜沧| 阳春市| 富阳市| 雅安市| 通化市| 广元市|