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 (查询语法点击它自带的连接)
相关推荐
3. 启动 jhat 工具:在命令行下输入 jhat 命令,例如 jhat -J-mx512m <堆dump文件路径>,其中 -J-mx512m 是设置 jhat 工具的内存大小。 4. 查看分析结果:使用 jhat 工具分析堆dump文件后,可以在浏览器中访问 ...
`jar` 命令用于创建、提取和更新.jar文件,这是Java的二进制文件格式,用于打包多个类文件和资源。创建一个包含`HelloWorld.class`的.jar文件,你可以使用: ``` jar cvf HelloWorld.jar HelloWorld.class ``` ...
安装后,需要设置`JAVA_HOME`环境变量,指向JDK的安装目录,以便系统能识别Java命令。 二、javac 命令 `javac`是Java的编译器,它将源代码文件(.java)转换为字节码文件(.class)。例如,要编译名为`HelloWorld....
这份“JAVA命令大全-JVM设置.rar”压缩包文件包含了关于Java命令行选项以及JVM配置的相关知识。 首先,`JAVA命令大全.doc`可能包含以下内容: 1. **Java启动命令**:`java`和`javac`是最基础的命令,分别用于执行...
JVM性能调优监控工具jps、jstack、jmap、jhat、...jps、jstack、jmap、jhat、jstat 等 JVM 性能调优监控工具对于 Java 程序员来说是必备的,能够帮助我们解决各种 JVM 性能问题,提高 Java 应用程序的性能和稳定性。
3. **java命令**: 用于执行Java字节码文件。例如,`java HelloWorld` 运行已编译的HelloWorld类。如果需要指定类路径或主类,可以使用`-cp`或`-classpath`参数。 4. **jar命令**: Java档案工具,用于打包和管理类...
Java 2 应用命令详解 在 Java 开发和运行环境中,掌握各种命令行工具是至关重要的。Java 2 应用命令主要指的是用于管理、编译、运行和调试 Java 程序的一系列命令。这些命令使得开发者能够在不同的操作系统上高效地...
以下是一些重要的Java命令及其详细解释: 1. **java命令**: - 用于运行Java字节码文件(.class)。例如:`java HelloWorld` 运行名为HelloWorld的主类。 - `-cp`或`-classpath`参数指定类路径,用于查找依赖的...
3. **Java开发工具**(JDK工具):如`jar`命令用于创建、管理和提取JAR文件,`javadoc`用于生成API文档,`jmap`和`jhat`用于内存分析,以及`jconsole`用于监控Java应用的性能等。 4. **Java API**:这是一个庞大的...
解压后,将JDK的路径添加到系统的环境变量`PATH`和`JAVA_HOME`中,以便系统可以在任何目录下识别和执行Java命令。 3. **环境变量配置**: - `JAVA_HOME`: 指向JDK的安装路径,例如:`/usr/local/java/jdk11.0.22` ...
4. **其他开发工具**:OpenJDK 1.8.0还包括其他的开发工具,如`jmap`用于内存映射,`jhat`用于分析堆转储,`jinfo`获取Java配置信息,`jstack`用于查看线程堆栈跟踪,以及`jconsole`图形化监控工具等。这些工具对于...
7. **性能分析命令**:`jps`显示Java进程,`jstat`用于监视JVM统计信息,`jmap`提供内存映射和堆dump,`jhat`分析heap dump,这些工具帮助开发者优化程序性能。 8. **JVM调优**:Java2语言命令详解可能还会涵盖JVM...
包括`JAVA_HOME`指向JDK的安装目录,`PATH`中添加`%JAVA_HOME%\bin`,确保系统可以从任何地方执行Java命令。 - 验证安装:通过在命令行输入`java -version`和`javac -version`,查看Java和Java编译器的版本信息。 ...
使用jps命令可以查看当前的Java进程: ``` jps -lm ``` 使用wmic process命令可以查看当前的进程详细信息: ``` wmic process get caption,commandline /value ``` 数据库连接排查 数据库连接排查是指通过各种...
为了监控Java应用的性能,可以使用`jps`(Java进程状态)列出运行中的Java进程,`jstat`(JVM统计监测工具)查看JVM的统计信息,`jmap`(内存映射工具)生成堆转储,以及`jhat`(堆分析工具)分析堆转储。...