中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

jmap工具

介绍

jmap是JDK自带的堆信息查看和调试工具,可以将堆信息导出到文件分析,可以查看堆空间分配等信息,是Java性能调优常用工具之一。

安装方式

完整安装JDK后自带jmap工具,无需单独安装,一般位于Java的bin目录下。

使用方式

命令格式:jmap [参数]

常用参数如下:

参数

说明

举例

-dump:[live,]format=b,file=/you/path/filename.hprof <pid>

输出JVM的堆对象内容到指定文件。推荐以.hprof后缀命名文件,可以用MAT工具直接分析。 live选项是可选的,如果选live,那么只输出活的对象到文件。

jmap -dump:format=b,file=/opt/log/java12123.hprof 12123

-finalizerinfo <pid>

输出正等候回收的对象的信息。

jmap -finalizerinfo 12123

-heap <pid>

输出当前Java进程堆的概要统计信息,如GC算法,heap的配置空间等。

jmap -heap 12123

-histo[:live] <pid>

输出当前class的实例数目、内存占用、类全名信息。

jmap -histo:live 12123 | head -n 20

-permstat <pid>

打印classload和jvm heap中perm代的信息,包含每个classloader的名字、活泼性、地址、父classloader和加载的class数量等信息。

jmap -permstat 12123

jmap -heap <pid> 举例说明:

using parallel threads in the new generation.  ##新生代采用的是并行线程处理方式
using thread-local object allocation.   
Concurrent Mark-Sweep GC   ##同步并行垃圾回收
Heap Configuration:  ##堆配置情况
   MinHeapFreeRatio = 40 ##最小堆使用比例
   MaxHeapFreeRatio = 70 ##最大堆可用比例
   MaxHeapSize      = 2147483648 (2048.0MB) ##最大堆空间大小
   NewSize          = 268435456 (256.0MB) ##新生代分配大小
   MaxNewSize       = 268435456 (256.0MB) ##最大新生代可分配大小
   OldSize          = 5439488 (5.1875MB) ##老年代大小
   NewRatio         = 2  ##新生代比例
   SurvivorRatio    = 8 ##新生代与survivor的比例
   PermSize         = 134217728 (128.0MB) ##perm区大小
   MaxPermSize      = 134217728 (128.0MB) ##最大可分配perm区大小
Heap Usage: ##堆使用情况
New Generation (Eden + 1 Survivor Space):  ##新生代(Eden区 + survivor空间)
   capacity = 241631232 (230.4375MB)  ##Eden区容量
   used     = 77776272 (74.17323303222656MB) ##已经使用大小
   free     = 163854960 (156.26426696777344MB) ##剩余容量
   32.188004570534986% used ##使用比例
Eden Space:  ##Eden区
   capacity = 214827008 (204.875MB) ##Eden区容量
   used     = 74442288 (70.99369812011719MB) ##Eden区使用
   free     = 140384720 (133.8813018798828MB) ##Eden区当前剩余容量
   34.65220164496263% used ##Eden区使用情况
From Space: ##survivor1区
   capacity = 26804224 (25.5625MB) ##survivor1区容量
   used     = 3333984 (3.179534912109375MB) ##survivor1区已使用情况
   free     = 23470240 (22.382965087890625MB) ##survivor1区剩余容量
   12.43827838477995% used ##survivor1区使用比例
To Space: ##survivor2 区
   capacity = 26804224 (25.5625MB) ##survivor2区容量
   used     = 0 (0.0MB) ##survivor2区已使用情况
   free     = 26804224 (25.5625MB) ##survivor2区剩余容量
   0.0% used ## survivor2区使用比例
concurrent mark-sweep generation: ##老年代使用情况
   capacity = 1879048192 (1792.0MB) ##老年代容量
   used     = 30847928 (29.41887664794922MB) ##老年代已使用容量
   free     = 1848200264 (1762.5811233520508MB) ##老年代剩余容量
   1.6416783843721663% used ##老年代使用比例
Perm Generation: ##perm区使用情况
   capacity = 134217728 (128.0MB) ##perm区容量
   used     = 47303016 (45.111671447753906MB) ##perm区已使用容量
   free     = 86914712 (82.8883285522461MB) ##perm区剩余容量
   35.24349331855774% used ##perm区使用比例

信息来源:https://blog.csdn.net/zhaozheng7758/article/details/8623530

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词