jmap是jdk自带的管理工具,可以详细地查看堆内存、类加载器使用情况,以及导入dump文件
使用方法
“pid”表示运行着的java应用的pid。
- jmap -h 查看jmap的使用帮助
- jmap -heap pid 打印堆信息, 包括 JVM版本、垃圾收集器、堆配置、堆各个区域使用情况
- jmap -histo pid 打印堆内每个类的实例数,以及各自占用空间
- jmap -histo:live pid 打印堆内活动着的每个类的实例数,以及各自占用空间
- jmap -clstats pid 打印类加载器实例信息
- jmap -finalizerinfo pid 打印等待回收的对象信息
- jmap -dump pid 导出dump文件 例:jmap -dump:format=b,file=/home/user/8080.dump 25037
查看堆内某个类的实例存储情况
-
windows下 jmap -histo pid | findstr 类关键字,, jmap -histo 11212 | findstr Goods
-
linux下 jmap -histo pid | grep 类关键字,, jmap -histo 11212 | grep Goods
查看项目的pid
- windows下 cmd中输入jvisualvm,打开jvisualvm即可看见项目pid
- linux下 ps -aux | grep 项目关键字,,或者 netstat -tunlp | grep 项目端口号,,