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