jmap

jmap是一个用于分析JVM内存的工具,可用于查看堆内存概要、直方图、存活对象、内存泄漏等信息。通过jmap -histo:live pid可以查看存活对象的直方图,统计实例最多的类和合计容量最多的类。还可以使用jmap -dump:format=b,file=filename pid生成堆内存dump文件,配合MAT或jhat进行深入分析。在64位系统上,需要使用jmap -J-d64 -heap pid。注意,频繁的内存dump可能影响性能,应谨慎操作。" 99601312,8678814,MySQL数据库入门指南,"['数据库', 'MySQL', '安装', '服务管理', '数据存储']
摘要由CSDN通过智能技术生成

很多时候我们需要看jvm的内存信息.怎么看呢?以下都是必须正确安装java环境的情况下:
windows系统,一般在cmd里面直接输入jconsole命令,会出现图形化工具,较为方便.

linux的话只能使用命令了:如下

统计实例最多的类 前十位有哪些?
A:jmap -histo pid | sort -n -r -k 2 | head -10
统计合计容量前十的类有哪些?
A:jmap -histo pid | sort -n -r -k 3 | head -10

jmap -histo 50829|less|grep LogisticsRemindCallable

查看存活的类
jmap -histo:live 2424 | more
jmap -histo:live 2424 | less

打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。它的用途是为了展示java进程的内存映射信息,或者堆内存详情。

可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。

jmap -heap:format=b pid bin格式 javaversion 1.5

jmap -dump:format=b,file=filename pid javaversion >1.6

jmap -dump:format=b,file=outfile 3024可以将3024进程的内存heap输出出来到outfile文件里,再配合MAT(内存分析工具(Memory Analysis Tool)或与jhat (Java Heap Analysis Tool)一起使用,能够以图像的形式直观的展示当前内存是否有问题。

64位机上使用需要使用如下方式:

jmap -J-d64 -heap pid

二、命令格式
SYNOPSIS
jmap [ option ] pid (to connect to remote debug server)
jmap [ option ] executable core (to connect to remote debug server)
jmap [ option ] [server-id@]remote-hostname-or-IP (to connect to remote debug server)

复制代码

where is one of:

to print same info as Solaris pmap
-heap to print java heap summary
-histo[:live] to print histogram of java object heap; if the “live” suboption is specified, only count live objects
-permstat to print permanent generation statistics
-finalizerinfo to print information on objects awaiting finalization
-dump: to dump java heap in hprof binary format
           dump-options:
live dump only live objects; if not specified,all objects in the heap are dumped.
           format=b binary format
file= dump heap to
Example: jmap -dump:live,format=b,file=heap.bin
-F force. Use with -dump: or -histo to force a heap dump or histogram when does not respond. The “live” suboption is not supported in this mode.
-h | -help to print this help message
-J to pass directly to the runtime system

参数如下:
-heap:打印jvm heap的情况
-histo:打印jvm heap的直方图。其输出信息包括类名,对象数量,对象占用大小。
-histo:live :同上,但是只答应存活对象的情况
-permstat:打印permanent generation heap情况
复制代码

参数说明:

1)、options:

executable Java executable from which the core dump was produced.(可能是产生core dump的java可执行程序)
core 将被打印信息的core dump文件
remote-hostname-or-IP 远程debug服务的主机名或ip
server-id 唯一id,假如一台主机上多个远程debug服务,用此选项参数标识服务器

2)基本参数:

如果使用不带选项参数的jmap打印共享对象映射,将会打印目标虚拟机中加载的每个共享对象的起始地址、映射大小以及共享对象文件的路径全称。这与Solaris的pmap工具比较相似。
-dump:[live,]format=b,file= 使用hprof二进制形式,输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值