jmap介绍 离线分析命令jmap -dump:live,format=b,file=output.hprof pid

2023-12-14 02:58

本文主要是介绍jmap介绍 离线分析命令jmap -dump:live,format=b,file=output.hprof pid,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

jmap:查看整个堆及内存对象
基本用法:
jmap [-option] pid
重点用法:
to print same info as Solaris pmap
-heap to print java heap summary
-histo[:live] to print histogram of java object heap; if the “live”
suboption is specified, only count live objects
-finalizerinfo to print information on objects awaiting finalization

查看堆内存: jmap -heap pid

/nemo/jdk/bin/jmap -heap 239637

Attaching to process ID 239637, please wait…
Debugger attached successfully.
Server compiler detected.
JVM version is 24.65-b04

using thread-local object allocation.
Parallel GC with 4 thread(s)

Heap Configuration:(堆配置参数,一般是由启动指定)
MinHeapFreeRatio = 0
MaxHeapFreeRatio = 100
MaxHeapSize = 3221225472 (3072.0MB)
NewSize = 1310720 (1.25MB)
MaxNewSize = 17592186044415 MB
OldSize = 5439488 (5.1875MB)
NewRatio = 2
SurvivorRatio = 8
PermSize = 21757952 (20.75MB)
MaxPermSize = 268435456 (256.0MB)
G1HeapRegionSize = 0 (0.0MB)

Heap Usage:(当前堆的使用情况)
PS Young Generation
Eden Space:
capacity = 694681600 (662.5MB)
used = 601048312 (573.2043380737305MB)
free = 93633288 (89.29566192626953MB)
86.52140952056308% used
From Space:
capacity = 10485760 (10.0MB)
used = 2850816 (2.71875MB)
free = 7634944 (7.28125MB)
27.1875% used
To Space:
capacity = 9961472 (9.5MB)
used = 0 (0.0MB)
free = 9961472 (9.5MB)
0.0% used
PS Old Generation
capacity = 1431830528 (1365.5MB)
used = 120644408 (115.05547332763672MB)
free = 1311186120 (1250.4445266723633MB)
8.42588599982693% used
PS Perm Generation
capacity = 71827456 (68.5MB)
used = 71416272 (68.10786437988281MB)
free = 411184 (0.3921356201171875MB)
99.42753924070483% used

41145 interned Strings occupying 5023944 bytes.

/nemo/jdk/bin/jmap -histo 239637

对象的个数 对象占用的字节数 类名

num #instances #bytes class name

1: 172505 215674400 [B
2: 1747475 184431640 [C
3: 3434327 89150104 [Ljava.lang.Object;
4: 3138276 75804224 [Ljava.lang.String;
5: 1056366 25352784 java.lang.String
6: 37782 17923296 [I
7: 120814 16995312
8: 120814 15477472
9: 12792 14843440
10: 12471 8735960
11: 10879 7859744
12: 219728 7031296 java.lang.StackTraceElement
13: 164575 5266400 java.io.FileOutputStream
14: 212413 5097912 java.io.FileDescriptor
15: 203088 4874112 java.lang.StringBuffer
16: 298610 4777760 java.lang.Integer
17: 266729 4267664 java.lang.Object
18: 124636 3988352 java.util.HashMap E n t r y 19 : 1230073936224 j a v a . u t i l . A r r a y L i s t Entry 19: 123007 3936224 java.util.ArrayList Entry19:1230073936224java.util.ArrayListItr
20: 159025 3816600 java.lang.StringBuilder
21: 148679 3568296 java.util.ArrayList
22: 212994 3407904 java.util.concurrent.atomic.AtomicInteger
23: 25295 2665944 [Ljava.util.HashMap E n t r y ; 24 : 628122512480 j a v a . u t i l . H a s h M a p Entry; 24: 62812 2512480 java.util.HashMap Entry;24:628122512480java.util.HashMapKeyIterator
25: 73859 2363488 java.util.concurrent.locks.AbstractQueuedSynchronizer N o d e 26 : 218072321368 [ L j a v a . l a n g . S t a c k T r a c e E l e m e n t ; 27 : 716722293504 j a v a . u t i l . c o n c u r r e n t . C o n c u r r e n t H a s h M a p Node 26: 21807 2321368 [Ljava.lang.StackTraceElement; 27: 71672 2293504 java.util.concurrent.ConcurrentHashMap Node26:218072321368[Ljava.lang.StackTraceElement;27:716722293504java.util.concurrent.ConcurrentHashMapHashEntry
28: 3638 2086128
29: 38223 1834704 java.util.HashMap
30: 74605 1790520 cn.seczone.iast.thirdparty.org.apache.http.util.CharArrayBuffer
31: 26631 1706960 [S
32: 34762 1668576 java.lang.management.MemoryUsage
33: 20738 1659040 java.lang.reflect.Method
34: 12995 1552552 java.lang.Class
35: 12094 1354528 java.net.SocksSocketImpl

当前正在回收的情况

/nemo/jdk/bin/jmap -finalizerinfo 239637

Attaching to process ID 239637, please wait…
Debugger attached successfully.
Server compiler detected.
JVM version is 24.65-b04
Number of objects pending for finalization: 0

产生dump文件线下分析 -dump
**

jmap -dump:live,format=b,file=output.hprof pid

**

这篇关于jmap介绍 离线分析命令jmap -dump:live,format=b,file=output.hprof pid的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/490903

相关文章

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

Redis的Hash类型及相关命令小结

《Redis的Hash类型及相关命令小结》edisHash是一种数据结构,用于存储字段和值的映射关系,本文就来介绍一下Redis的Hash类型及相关命令小结,具有一定的参考价值,感兴趣的可以了解一下... 目录HSETHGETHEXISTSHDELHKEYSHVALSHGETALLHMGETHLENHSET

锐捷和腾达哪个好? 两个品牌路由器对比分析

《锐捷和腾达哪个好?两个品牌路由器对比分析》在选择路由器时,Tenda和锐捷都是备受关注的品牌,各自有独特的产品特点和市场定位,选择哪个品牌的路由器更合适,实际上取决于你的具体需求和使用场景,我们从... 在选购路由器时,锐捷和腾达都是市场上备受关注的品牌,但它们的定位和特点却有所不同。锐捷更偏向企业级和专

Spring中Bean有关NullPointerException异常的原因分析

《Spring中Bean有关NullPointerException异常的原因分析》在Spring中使用@Autowired注解注入的bean不能在静态上下文中访问,否则会导致NullPointerE... 目录Spring中Bean有关NullPointerException异常的原因问题描述解决方案总结

如何使用 Bash 脚本中的time命令来统计命令执行时间(中英双语)

《如何使用Bash脚本中的time命令来统计命令执行时间(中英双语)》本文介绍了如何在Bash脚本中使用`time`命令来测量命令执行时间,包括`real`、`user`和`sys`三个时间指标,... 使用 Bash 脚本中的 time 命令来统计命令执行时间在日常的开发和运维过程中,性能监控和优化是不

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

python中json.dumps和json.dump区别

《python中json.dumps和json.dump区别》json.dumps将Python对象序列化为JSON字符串,json.dump直接将Python对象序列化写入文件,本文就来介绍一下两个... 目录1、json.dumps和json.dump的区别2、使用 json.dumps() 然后写入文

python-nmap实现python利用nmap进行扫描分析

《python-nmap实现python利用nmap进行扫描分析》Nmap是一个非常用的网络/端口扫描工具,如果想将nmap集成进你的工具里,可以使用python-nmap这个python库,它提供了... 目录前言python-nmap的基本使用PortScanner扫描PortScannerAsync异

PHP执行php.exe -v命令报错的解决方案

《PHP执行php.exe-v命令报错的解决方案》:本文主要介绍PHP执行php.exe-v命令报错的解决方案,文中通过图文讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下... 目录执行phpandroid.exe -v命令报错解决方案执行php.exe -v命令报错-PHP War