java記憶體分析總結

來源:互聯網
上載者:User

java記憶體分析總結

1、內建的jconsole工具。

(1)如果是從命令列啟動,使 JDK 在 PATH 上,運行 jconsole 即可。

(2)如果從 GUI shell 啟動,找到 JDK 安裝路徑,開啟 bin 檔案夾,雙擊 jconsole

(3)當分析工具彈出時(取決於正在啟動並執行 Java 版本以及正在啟動並執行 Java 程式數量),可能會出現一個對話方塊,要求輸入一個進程的 URL 來串連,

也可能列出許多不同 的本地 Java 進程(有時包含 JConsole 進程本身)來串連。

參照http://jiajun.iteye.com/blog/810150

2、內建的jmap工具

jmap 是一個可以輸出所有記憶體中對象的工具,甚至可以將VM 中的heap,以二進位輸出成文本。使用方法 jmap -histo pid。如果連用 SHELL jmap -histo pid>a.log可以將其儲存到文本中去(windows下也可以使用),在一段時間後,使用文本對比工具,可以對比出GC回收了哪些對象。

(1)windows環境DOS查詢連接埠和PID號:TaskList/svc
(2)用netstat -ano命令,列出所有連接埠對應的PID

3、mat

a、產生dump檔案

一個進程對應一個.hprof檔案,
(1)設定jvm的參數:-XX:+HeapDumpOnOutOfMemoryError產生的java_pid7888.hprof檔案位於當前工程目錄下;
(2)通過jmap -dump:format=b,file=HeapDump.bin <pid>

(3)通過jconsole產生

選擇 Mbean -> com.sun.management -> HotSpotDiagnos -> Operations -> dumpHeap

在參數p0中填寫儲存dmp檔案的路徑,例如f:/my.hprof,檔案的尾碼名要為hprof。

點擊dumpHeap按鈕產生dump檔案。

b、安裝mat開啟.hprof檔案進行分析

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.