Python 官方文档:入门教程 => 点击学习
目录jmap命令简介jmap命令参数-heap-histo[:live]-clstats-finalizerinfo-dump:[live,]fORMat=b,file=-F-h 和
jmap(Java Virtual Machine Memory Map)是jdk提供的一个可以生成Java虚拟机的堆转储快照dump文件的命令行工具。除此以外,jmap命令还可以查看finalize执行队列、Java堆和方法区的详细信息,比如空间使用率、当前使用的什么垃圾回收器、分代情况等等。
和jinfo命令一样,在windows系统上使用还是有一些限制的。在没有dbgeng.dll
的Windows系统中,必须安装用于Windows的调试工具才能使jinfo命令正常工作,PATH环境变量应该包含JVM.dll的位置。
命令语法:
jmap [options] pid
命令参数说明:
option
:jmap命令的可选参数。如果没有指定这个参数,jinfo命令会显示Java虚拟机进程的内存映像信息,如下图:
pid
:要打印配置信息的Java虚拟机的进程ID。
想要要获取运行的Java虚拟机进程的列表,可以使用ps命令(linux系统中)或tasklist命令(Windows系统中),如果Java虚拟机进程没有在单独的Docker实例中运行,可以使用jps命令。
option
都有哪些参数呢?我们来看一下。
显示Java堆的如下信息:
比如:
显示Java堆中对象的统计信息,包括:对象数量、占用内存大小(单位:字节)和类的完全限定名。比如:
要获得某个对象的大小,可以将其总大小除以该对象类型的数量。如果指定了live
参数,则只计算活动的对象。比如:
显示Java堆中元空间的类加载器的统计信息,包括:
class_loader:当Java虚拟机运行时,类加载器对象的地址
classes:已加载类的数量
bytes:该类加载器加载的所有类的元数据所占的字节数
parent_loader:父类加载器对象的地址,如果没有显示null
。
alive:是否存活的标识,表示类加载器对象是否将被垃圾回收。
type:该类加载器的类名。
比如:
显示在F-Queue中等待Finalizer线程执行finalize方法的对象。比如:
生成Java虚拟机的堆转储快照dump文件。具体说明如下:
live
参数是可选的,如果指定,则只转储堆中的活动对象;如果没有指定,则转储堆中的所有对象。format=b
表示以hprof二进制格式转储Java堆的内存。file=<filename>
用于指定快照dump文件的文件名。比如:
强制模式。如果指定的pid没有响应,可以配合-dump
或-histo
一起使用。此模式下,不支持live参数。比如:
显示jinfo命令的帮助信息。
到此这篇关于Java的jmap命令的具体使用的文章就介绍到这了,更多相关Java jmap命令内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: Java的jmap命令的具体使用
本文链接: https://lsjlt.com/news/143156.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0