功能:可以分析jmap dump下的hprof文件
一般配合
jmap -dump:format=b,file=dumpFileName pid
或者
jmap -histo:live 21711 | more
jmap -histo:live 21711 | more num #instances #bytes class name ---------------------------------------------- 1: 38445 5597736 <constMethodKlass> 2: 38445 5237288 <methodKlass> 3: 3500 3749504 <constantPoolKlass> 4: 60858 3242600 <symbolKlass> 5: 3500 2715264 <instanceKlassKlass> 6: 2796 2131424 <constantPoolCacheKlass> 7: 5543 1317400 [I 8: 13714 1010768 [C 9: 4752 1003344 [B 10: 1225 639656 <methodDataKlass> 11: 14194 454208 java.lang.String 12: 3809 396136 java.lang.Class 13: 4979 311952 [S 14: 5598 287064 [[I 15: 3028 266464 java.lang.reflect.Method 16: 280 163520 <objArrayKlassKlass> 17: 4355 139360 java.util.HashMap$Entry 18: 1869 138568 [Ljava.util.HashMap$Entry; 19: 2443 97720 java.util.LinkedHashMap$Entry 20: 2072 82880 java.lang.ref.SoftReference 21: 1807 71528 [Ljava.lang.Object; 22: 2206 70592 java.lang.ref.WeakReference 23: 934 52304 java.util.LinkedHashMap 24: 871 48776 java.beans.MethodDescriptor 25: 1442 46144 java.util.concurrent.ConcurrentHashMap$HashEntry 26: 804 38592 java.util.HashMap 27: 948 37920 java.util.concurrent.ConcurrentHashMap$Segment 28: 1621 35696 [Ljava.lang.Class; 29: 1313 34880 [Ljava.lang.String; 30: 1396 33504 java.util.LinkedList$Entry 31: 462 33264 java.lang.reflect.Field 32: 1024 32768 java.util.Hashtable$Entry 33: 948 31440 [Ljava.util.concurrent.ConcurrentHashMap$HashEntry;
相关推荐
2. **JDK自带工具**:如jconsole、jvisualvm用于监控JVM状态,jmap用于内存映射,jstack用于线程堆栈快照,jhat用于堆转储分析。 五、JVM与其他技术的交互 1. **JNI(Java Native Interface)**:允许Java代码调用...
3. **性能监控**:`jstat`用于监控JVM的运行时统计信息,`jmap`获取堆内存详细信息或生成堆转储文件,`jhat`分析堆转储文件,`jconsole`和`jvisualvm`提供图形界面进行性能监控和诊断。 4. **JVM诊断**:`jinfo`...
开发包通常会包含JDK中的核心组件,如Java编译器(javac)、Java虚拟机(JVM)、Java运行时环境(JRE)以及开发工具,例如Javadoc(生成API文档)和JAR(打包工具)等。 在CentOS上安装这个开发包后,你可以进行...
2. **Java运行时环境**(JRE):包括Java虚拟机(JVM)和Java核心类库,使得Java程序可以在任何支持Java的平台上运行。 3. **Java开发工具**(JDK工具):如`jar`命令用于创建、管理和提取JAR文件,`javadoc`用于...
jhat 是 JavaHeapAnalysisTool 的缩写,它是一个 Java 虚拟机(JVM)堆分析工具,由 Sun Microsystems 提供,用于对 Java 应用程序的堆内存进行分析和诊断。下面是 jhat 的使用方法指南: jhat 的基本概念 jhat ...
在Java开发领域,JVM(Java Virtual Machine)是至关重要的组成部分,它负责解析并执行Java程序。JVM调优是一项核心技能,可以帮助我们优化应用程序的性能,减少内存消耗,提高响应速度,以及避免可能出现的垃圾收集...
在生产环境中进行JVM(Java Virtual Machine)调优是确保应用程序高效、稳定运行的关键步骤。JVM调优涉及多个方面,包括内存配置、垃圾收集器选择、线程设置、类加载机制优化等。这里我们将详细探讨这些关键知识点,...
### 2024年Java面试题:JVM性能调优面试题第二部分 #### 内存模型及分区 在Java虚拟机(JVM)中,内存主要被划分为以下几个区域: 1. **堆区(Heap)**:堆区是用于存储初始化的对象、成员变量等数据的地方。所有对象...
Java虚拟机(JVM)是Java程序运行的基础,它负责解释和执行字节码,管理内存,以及优化代码性能。JVM调优是一项关键技能,它涉及到调整JVM的配置参数,以达到最佳的程序运行效率,防止内存泄漏,以及确保应用程序的...
Java虚拟机(JVM)是Java程序运行的基础,它是一个抽象的计算机系统,负责执行Java字节码。在这个全面理解JVM并掌握常规JVM调优的教程中,我们将深入探讨JVM的工作原理、内存模型、垃圾收集机制、类加载过程以及如何...
Java虚拟机(JVM)是Java程序运行的基础,它负责解析和执行字节码,为开发者提供了跨平台的运行环境。JVM原理和调优是每个Java开发人员必须掌握的关键技能,这涉及到内存管理、垃圾收集、性能优化等多个方面。在深入...
在Java开发和运维中,了解和掌握JVM(Java虚拟机)的相关工具是至关重要的。这些工具可以帮助我们更好地管理和优化应用程序的性能。本教程将详细解释Tomcat服务器中与JVM相关的几个关键工具,包括它们的功能、使用...
Java虚拟机(JVM)是Java程序运行的基础,它负责解析和执行字节码,提供了一个与硬件平台无关的运行环境。了解JVM内存结构及其功能对于优化Java应用程序的性能和排查内存问题至关重要。 首先,我们来详细探讨JVM的...
JDK提供了一系列强大的诊断工具,如jconsole、jvisualvm、jmap、jhat等,它们可以帮助我们查看JVM状态、分析内存泄漏、生成堆转储文件等。熟练运用这些工具,可以迅速定位和解决问题。 六、性能监控与调优 性能监控...
《实战Java虚拟机 JVM故障诊断与性能优化》是由葛一鸣编著的一本专业书籍,主要探讨了如何在实际工作中解决Java虚拟机(JVM)的相关问题,以及如何进行性能调优。书中涵盖了许多关键的知识点,让我们一一展开讨论。 ...
JDK提供了一系列工具,如jconsole、jvisualvm、jmap、jhat等,用于监控JVM的运行状态,诊断内存泄漏、性能瓶颈等问题。 总之,Java_jvm.zip_java这个资料包将带你深入了解JVM的方方面面,为你的底层Java开发打下...
Java虚拟机(JVM)是Java开发中的核心组成部分,它负责执行字节码,管理内存,以及优化程序性能。在Java应用的运行过程中,如果出现性能问题,JVM瓶颈定位就显得至关重要。本文将深入探讨如何理解和解决Java JVM的...
JVM性能调优监控工具jps、jstack、jmap、jhat、...jps、jstack、jmap、jhat、jstat 等 JVM 性能调优监控工具对于 Java 程序员来说是必备的,能够帮助我们解决各种 JVM 性能问题,提高 Java 应用程序的性能和稳定性。
这涉及到使用JDK自带的工具如`jstat`、`jmap`、`jhat`和`jfr`(Java飞行记录器)等。 4. **垃圾回收**:垃圾回收是Java性能管理的重要方面,指南提供了关于不同垃圾收集器的详细信息,如G1、Shenandoah、ZGC等,...