当前位置:首页 > 开发 > 编程语言 > Java > 正文

【Java命令二】jhat

发表于: 2015-03-07   作者:bit1129   来源:转载   浏览:
摘要: jhat用于分析使用jmap dump的文件,,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询语言。 jhat默认开启监听端口7000的HTTP服务,jhat是Java Heap Analysis Tool的缩写 1. 用法: [hadoop@hadoop bin]$ jhat -help Usage: jhat [-stack <bool&g

jhat用于分析使用jmap dump的文件,,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询语言。 jhat默认开启监听端口7000的HTTP服务,jhat是Java Heap Analysis Tool的缩写

1. 用法:

[hadoop@hadoop bin]$ jhat -help

Usage:  jhat [-stack <bool>] [-refs <bool>] [-port <port>] [-baseline <file>] [-debug <int>] [-version] [-h|-help] <file>

	-J<flag>          Pass <flag> directly to the runtime system. For
			  example, -J-mx512m to use a maximum heap size of 512MB
	-stack false:     Turn off tracking object allocation call stack.
	-refs false:      Turn off tracking of references to objects
	-port <port>:     Set the port for the HTTP server.  Defaults to 7000
	-exclude <file>:  Specify a file that lists data members that should
			  be excluded from the reachableFrom query.
	-baseline <file>: Specify a baseline object dump.  Objects in
			  both heap dumps with the same ID and same class will
			  be marked as not being "new".
	-debug <int>:     Set debug level.
			    0:  No debug output
			    1:  Debug hprof file parsing
			    2:  Debug hprof file parsing, no server
	-version          Report version number
	-h|-help          Print this help and exit
	<file>            The file to read

For a dump file that contains multiple heap dumps,
you may specify which dump in the file
by appending "#<number>" to the file name, i.e. "foo.hprof#3".

All boolean options default to "true"

 

2. 产生堆内存dump文件

[hadoop@hadoop bin]$ jmap -dump:file=dump.bin.002 1819
Dumping heap to /home/hadoop/software/jdk1.7.0_67/bin/dump.bin.002 ...
Heap dump file created

 

3. 分析堆内存dump文件

 

提示找到1040038个对象

[hadoop@hadoop bin]$ jhat dump.bin.002 
Reading from dump.bin.002...
Dump file created Fri Feb 27 07:53:21 EST 2015
Snapshot read, resolving...
Resolving 1040038 objects...
Chasing references, expect 208 dots................................................................................................................................................................................................................
Eliminating duplicate references................................................................................................................................................................................................................
Snapshot resolved.
Started HTTP server on port 7000
Server is ready.

 

 

4. UI上查看对象内存使用情况:

在首页底下有如下连接

  • All classes including platform
  • Show all members of the rootset
  • Show instance counts for all classes (including platform) ---每个类的对象个数,从高到低排序(不显示内存占用情况)
  • Show instance counts for all classes (excluding platform)
  • Show heap histogram --每个类的对象个数以及占用的总空间(很有用)
  • Show finalizer summary --等待回收
  • Execute Object Query Language (OQL) query (查询语法点击它自带的连接)

 

 

 

【Java命令二】jhat

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
jhat命令 -- Java Head Analyse Tool 用途:是用来分析java堆的命令,可以将堆中的对象以html的形式
jhat命令 -- Java Head Analyse Tool 用途:是用来分析java堆的命令,可以将堆中的对象以html的形式
1、简要介绍 jhat(Java Head Analyse Tool ):是用来分析java堆的命令,可以将堆中的对象以html的
1、简要介绍 jhat(Java Head Analyse Tool ):是用来分析java堆的命令,可以将堆中的对象以html的
jhat用于对JAVA heap进行离线分析的工具,他可以对不同虚拟机中导出的heap信息文件进行分析,如LINU
jhat用于对JAVA heap进行离线分析的工具,他可以对不同虚拟机中导出的heap信息文件进行分析,如LINU
fiind 目录 -name 文件名: 在目录下查找名称一致的文件 fiind 目录 -name ’*关键词*‘:在目录下
创建一个cocos2d项目的2种方法 1.CocosForWin软件 cocos.exe 2.cocos命令行方式 cocos new test -p
通过这些四字命令可以获取服务的当前状态,配置等相关信息。用户在客户端可通过telnet或nc向zookeep
大家都知道,熟悉命令操作的开发人员,Linux操作系统命令操作效率要高于图形界面的操作,所以了解和
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号