前言:当我们遇到内存溢出,想要看详细的内存信息,可以使用java自带工具jmap下载完整的内存信息。
一、jmap下载内存信息命令
pid为java进程,ps -ef | grep java 获得
jmap -F -dump:live,file=jmap.hprof [PID] 导出内存dump文件
查看整个JVM内存状态
jmap -heap [pid]
要注意的是在使用CMS GC 情况下,jmap -heap的执行有可能会导致JAVA 进程挂起
查看JVM堆中对象详细占用情况
jmap -histo [pid]
二、使用eclipse插件MAT来分析heap profile
MAT可以用于查找内存泄露以及查看内存消耗情况,具体就是可以查看每个类的使用情况以及内存占用情况,从而分析问题。
使用方式参考: Java程序内存分析:使用mat工具分析内存占用l