JVM 调优实战--jmap的使用以及内存溢出分析
目錄
jmap的使用以及內存溢出分析
查看內存使用情況
查看內存中對象數量及大小
將內存使用情況dump到文件中
通過jhat對dump文件進行分析
通過MAT工具對dump文件進行分析
MAT介紹
MAT下載安裝
MAT使用步驟?
jmap的使用以及內存溢出分析
查看內存使用情況
查看tomcat的內存使用情況:jmap -heap tomcat進程ID
①查看堆內存配置信息:
②查看堆內存使用情況:
查看內存中對象數量及大小
使用 jmap -histo 進程ID | more 查看對象數量及大小。在Linux系統中,可以使用管道 | more來一段一段地輸出信息。Windows系統也可以使用。
使用 jmap -histo:live 進程ID | more 可以查看活躍的對象數量及大小:
將內存使用情況dump到文件中
dump下來的文件是二進制格式的。?
通過jhat對dump文件進行分析
將jvm的內存dump到文件中,這個文件是一個二進制的文件,不方便查看,這時我們可以借助jhat工具進行查看:
通過瀏覽器訪問9999端口就可以訪問到dump下來的文件信息了:
頁面的最下方提供OQL查詢鏈接:
查詢鏈接? http://xxx:9999/oql/
OQL查詢語句示例(可以通過OQL Help來查看一些語句示例):
如查詢長度>=100?的字符串有哪些:
select s from java.lang.String s where s.value.length >= 100
可以看到長度大于1000的字符串是一些配置文件如web.xml之類的:
說明配置文件是以一個字符串的形式加載到內存中的。
通過MAT工具對dump文件進行分析
MAT介紹
MAT下載安裝
雙擊運行:
MAT使用步驟?
使用步驟:
總結
以上是生活随笔為你收集整理的JVM 调优实战--jmap的使用以及内存溢出分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JVM 的内存模型及jstat命令的使用
- 下一篇: JVM 调优实战--内存溢出的定位和MA