首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么jmap -histo的结果与jmap -dump不同?

jmap -histo和jmap -dump是Java虚拟机(JVM)提供的两个命令,用于分析Java堆内存的使用情况。它们的结果不同是因为它们提供了不同的功能和输出格式。

  1. jmap -histo:
    • 功能:jmap -histo命令用于生成Java堆内存的直方图,显示各个类及其实例数量。
    • 输出格式:输出结果按照类的数量进行排序,显示每个类的实例数量和占用内存大小。
    • 使用场景:jmap -histo适用于查看Java堆内存中各个类的实例数量,帮助分析内存泄漏或内存占用过高的问题。
    • 推荐的腾讯云相关产品:腾讯云云服务器(CVM)提供了丰富的计算资源,可用于运行Java应用程序并进行性能分析。您可以通过腾讯云控制台或API创建和管理云服务器实例。
  • jmap -dump:
    • 功能:jmap -dump命令用于生成Java堆内存的转储文件(heap dump),记录了Java堆内存中的对象信息。
    • 输出格式:输出结果是一个二进制文件,包含了Java堆内存中的对象实例、类信息、引用关系等。
    • 使用场景:jmap -dump适用于进行内存分析和调试,可以使用其他工具(如MAT、VisualVM)对转储文件进行分析,查找内存泄漏、对象引用关系等问题。
    • 推荐的腾讯云相关产品:腾讯云云监控(Cloud Monitor)提供了全面的监控和诊断能力,可帮助您实时监控和分析Java应用程序的性能和资源使用情况。

总结:jmap -histo用于生成Java堆内存的直方图,显示各个类及其实例数量;jmap -dump用于生成Java堆内存的转储文件,记录了Java堆内存中的对象信息。它们的结果不同是因为它们提供了不同的功能和输出格式。在云计算领域,腾讯云提供了腾讯云云服务器(CVM)和腾讯云云监控(Cloud Monitor)等产品,可用于支持Java应用程序的运行、性能分析和监控。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JVM常用分析工具之jmap

文章目录 一、简介 二、jmap用法 三、使用示例 1、no option 2、heap 3、histo[:live] 4、clstats 5、finalizerinfo 6、dump 一、简介   jmap...二、jmap用法 参数: option: 选项参数。 pid: 需要打印配置信息进程ID。 executable: 产生核心dumpJava可执行文件。...finalizer方法对象 dump::生成堆转储快照 F: 当-dump没有响应时,使用-dump或者-histo参数....jmap -heap pid 打印一个堆摘要信息,包括使用GC算法、堆配置信息和各内存区域内存使用信息。 3、histo[:live] 显示堆中对象统计信息。...jmap -histo:live pid 其中包括每个Java类、对象数量、内存大小(单位:字节)、完全限定类名。打印虚拟机内部类名称将会带有一个’*’前缀。

1.7K40

2020年腾讯云KonaJDK开源贡献总结

Serviceability 并行堆扫描 在JDK内存分析工具中, Jmap是最为常用一种,其中 jmap -histo工具会对java堆进行遍历,统计每一个对象所属类型,最后会给出这样一个数据:...例如在笔者开发环境上,用Jmap -histo 扫描一个包含6GB对象java堆,要耗费4秒左右时间。...经过调研,我们对jmap -histo原理进行了分析,并做了并行化优化,如下图 ?...在具体实现上,虽然我们针对jmap这个工具,但实际上更多修改是在GC方面,针对不同GC算法,堆布局不一样,也需要采用不同并行方式来适配。...下图是使用jmap -dumpjmap -dump:gz=1 在相同测试进程,相同堆占用情况下得到heap dump文件,文件大小压缩了7倍左右: ?

68020

2020年腾讯KonaJDK开源贡献总结

Serviceability 并行堆扫描 在JDK内存分析工具中, Jmap是最为常用一种,其中 jmap -histo工具会对java堆进行遍历,统计每一个对象所属类型,最后会给出这样一个数据:...例如在笔者开发环境上,用Jmap -histo 扫描一个包含6GB对象java堆,要耗费4秒左右时间。...经过调研,我们对jmap -histo原理进行了分析,并做了并行化优化,如下图: ?...在具体实现上,虽然我们针对jmap这个工具,但实际上更多修改是在GC方面,针对不同GC算法,堆布局不一样,也需要采用不同并行方式来适配。...下图是使用jmap -dumpjmap -dump:gz=1 在相同测试进程,相同堆占用情况下得到heap dump文件,文件大小压缩了7倍左右: ?

71720

Java自带性能监测工具之jmap

[root@dev18 ~]# 使用 jmap -histo打印jvm heap直方图。其输出信息包括类名,对象数量,对象占用大小。...下面的例子使用jmap生成pid为12905Java程序对象统计信息(直方图形式),并将生成统计信息输出到时/usr/local目录下12905.histo文件中,如: [root@dev18...~]# jmap -histo 12905 >/usr/local/12905.histo 打开12905.histo文件,查看详细信息如: [root@dev18 ~]# vim /usr/local...还有一个功能是可以手工生成指定程序堆快照文件~ 使用-dump选项~ 如: jmap -dump:format=b,file=/usr/local/12905.hprof 12905 该示例为pid为...12905程序生成一个二进制dump文件,文件放置在/usr/local目录下, 名字为12905.hprof~ [root@dev18 ~]# jmap -dump:format=b,file=/

93030

Java命令学习系列(三)——Jmap

jmap是JDK自带工具软件,主要用于打印指定Java进程(或核心文件、远程调试服务器)共享对象内存映射或堆内存细节。可以使用jmap生成Heap Dump。...Use with -dump: or -histo to force a heap dump or histogram...如果指定pid没有响应,请使用jmap -dumpjmap -histo选项。此模式下,不支持live子选项。 -h打印帮助信息。 -help 打印帮助信息。...2.要制作堆Dump可以直接使用jvm自带jmap命令 3.可以先使用jmap -heap命令查看堆使用情况,看一下各个堆空间占用情况。...4.使用jmap -histo:[live]查看堆内存中对象情况。如果有大量对象在持续被引用,并没有被释放掉,那就产生了内存泄露,就要结合代码,把不用对象释放掉。

1.4K10

jvm 性能调优工具之 jmap

概述 命令jmap是一个多功能命令。它可以生成 java 程序 dump 文件, 也可以查看堆内对象示例统计信息、查看 ClassLoader 信息以及 finalizer 队列。...jmap 用法 ? 参数: option: 选项参数。 pid: 需要打印配置信息进程ID。 executable: 产生核心dumpJava可执行文件。...线程执行finalizer方法对象 dump::生成堆转储快照 F: 当-dump没有响应时,使用-dump或者-histo参数....示例三:histo[:live] 命令:jmap -histo:live pid 描述:显示堆中对象统计信息 其中包括每个Java类、对象数量、内存大小(单位:字节)、完全限定类名。...> 命令:jmap -dump:format=b,file=heapdump.phrof pid 描述:生成堆转储快照dump文件。

1.4K120

Java计算一个对象占用内存大小

工具     } } /** output: 72 72 voice2:56 */ jmap 查看 一致:OK   jmap -histo PID | findstr ObjName   打印出某个...可以输出所有内存中对象工具,甚至可以将VM 中heap,以二进制输出成文本。使用方法 jmap -histo pid。...如果连用SHELL jmap -histo pid>a.log可以将其保存到文本中去,在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象。...另外,内部String数量和占用内存数也会打印出来.    -F 强迫.在pid没有相应时候使用-dump或者-histo参数. 在这个模式下,live子参数无效.    ...pid 需要被打印配相信息java进程id,创业与打工区别 - 博文预览,可以用jps查问.   4、使用示例   1)[fenglb@ccbu-156-5 ~]$ jmap -histo 4939

1.9K10

JVM之jmap使用以及内存溢出分析

之前写过通过jstat可以对jvm堆内存进行统计分析,而jmap可以获取到更加详细内容,如:内存使用情况汇总、对内存溢出定位与分析。...=path 设置dump文件路径(有时候dump文件比较大时候可能无法自动导出,这时候就需要使用jmap -dump手动导出了); 通过-XX:+HeapDumpOnCtrlBreak参数则可以使用[...jhat是java虚拟机自带一种虚拟机堆转储快照分析工具。jhat命令与jmap命令搭配使用,用于分析jmap生成heap dump文件(堆转储快照)。...查看内存中对象数量及大小 查看所有对象,包括活跃以及非活跃 jmaphisto | more 查看活跃对象 jmaphisto:live | more C:\Users\dell>jmap...到文件中 有些时候我们需要将jvm当前内存中情况dump到文件中,然后对它进行分析,jmap也是支持dump到文件中

87420

性能优化-jmap使用以及内存溢出分析

4、jmap使用以及内存溢出分析 前面通过jstat可以对jvm堆内存进行统计分析,而jmap可以获取到更加详细内容, 如:内存使用情况汇总、对内存溢出定位与分析。...‐histo | more #查看活跃对象 jmaphisto:live | more [root@node01 ~]# jmaphisto:live 6219 |...到文件中 有些时候我们需要将jvm当前内存中情况dump到文件中,然后对它进行分析,jmap也是支持dump到文件中。...可以看到已经在/tmp下生成了dump.dat文件。...4.4、通过jhat对dump文件进行分析 在上一小节中,我们将jvm内存dump到文件中,这个文件是一个二进制文件,不方便查看,这时我们可以借助于jhat工具进行查看。

88410
领券