jmap Memory Map 2010年08月11日
jmap能够打印给定的jvm过程或远程debug服务的共享对象的内存映射图或者具体的heap内存信息. 如果给定的jvm是运行在64位模式,那么你须要指定-J-d64参数,例如: jmap -J-d64 -heap pid
jmap在windows平台上,只能使用的情势如下:
jmap -dump: pid
跟
jmap -histo[:live] pid
jmap的命令如下:
jmap [ option ] pid
jmap [ option ] executable core
jmap [ option ] [server-id@]remote-hostname-or-IP
parameters
options
打印jvm中加载的每个共享对象,起始地址,映射的内存大小,共享对象文件的全门路.
-dump:[live,]format=b,file=
输出jvm的heap内容到文件,并使用hprof二进制形式. live子选项假如指定,儿童故事,那么只输出活的对象到文件.
-finalizerinfo
打印正等候回收的对象的信息
-histo[:live]
打印每个class的实例数目,内存占用,儿童故事,类全名信息. VM的内部类名字开头会加上前缀”*”. 如果live子参数加上后,只统计活的对象数量.
-permstat
打印classload和jvm heap长久层的信息. 包含每个classloader的名字,活泼性,山寨大王G-Five跻身全球前十大手机厂商 - 博文预览,地址,父classloader和加载的class数量. 另外,内部String的数量和占用内存数也会打印出来.
-F
强迫.在pid没有相应的时候使用-dump或者-histo参数. 在这个模式下,live子参数无效.
-h | -help
打印辅助信息
-J
传递参数给jmap启动的jvm.
pid
需要被打印配相信息的java进程id,创业与打工的区别 - 博文预览,可以用jps查问.
executable
Java executable from which the core dump was produced.
(可能是发生core dump的java可履行程序)
core
将被打印信息的core dump文件
remote-hostname-or-IP
远程debug服务的主机名或ip
server-id
独一id,如果一台主机上多个远程debug服务
最近在搞64位系统的进级,搞了一台放到恰是环境的pool中,在本来的32位下,我们定义的heap size是1024m,儿童故事,其中permsize是96m,实用70m左右.同样的配置在64位jvm里,Perm Generation直接暴掉,于是扩展至128m,适用稳固在108m左右,这里的起因是64位体系下,object占用了更大的内存, 10分钟让你明白中国为何物价高、内需拉不上去 - 博文预览,可以用 -XX:+UseCompressedOops参数紧缩(java6似乎还不支撑),然而咱们不应用.
经由前多少天的运行,系统还算稳定(经过上午,下战书两个网上流量顶峰期).昨天宣布后,我在晚上19点半左右enable这台测试机,早上到了公司,察看了一下运行情形.10点中左右发明jvm异样.
jstat -gcutil 22671 1000 1000
显示如下:
1234567
S0 S1 E O P YGC YGCT FGC FGCT GCT 0.00 0.00 100.00 100.00 84.71 17079 392.748 586 960.447 1353.195 0.00 0.00 100.00 100.00 84.71 17079 392.748 587 962.212 1354.960 0.00 0.00 100.00 100.00 84.71 17079 392.748 587 962.212 1354.960 0.00 0.00 100.00 100.00 84.71 17079 392.748 588 963.992 1356.740 0.00 0.00 100.00 100.00 84.71 17079 392.748 588 963.992 1356.740 0.00 0.00 100.00 100.00 84.58 17079 392.748 589 965.907 1358.655
jmap 22671
显示如下:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
Attaching to process ID 22671, please wait...Debugger attached successfully.Server compiler detected.JVM version is 10.0-b23 using thread-local object allocation.Parallel GC with 8 thread(s) Heap Configuration: MinHeapFreeRatio = 40 MaxHeapFreeRatio = 70 MaxHeapSize = 1073741824 (1024.0MB) NewSize = 268435456 (256.0MB) MaxNewSize = 268435456 (256.0MB) OldSize = 5439488 (5.1875MB) NewRatio = 2 SurvivorRatio = 8 PermSize = 134217728 (128.0MB) MaxPermSize = 134217728 (128.0MB) Heap Usage:PS Young GenerationEden Space: capacity = 126615552 (120.75MB) used = 126615552 (120.75MB) free = 0 (0.0MB) 100.0% usedFrom Space: capacity = 52494336 (50.0625MB) used = 0 (0.0MB) free = 52494336 (50.0625MB) 0.0% usedTo Space: capacity = 70909952 (67.625MB) used = 0 (0.0MB) free = 70909952 (67.625MB) 0.0% usedPS Old Generation capacity = 805306368 (768.0MB) used = 804698024 (767.4198379516602MB) free = 608344 (0.5801620483398438MB) 99.92445806662242% usedPS Perm Generation capacity = 134217728 (128.0MB) used = 113520112 (108.26121520996094MB) free = 20697616 (19.738784790039062MB) 84.57907438278198% used
在上面显示的数据中,full gc频繁产生,占用了大批的资源
eden Space和Old Generation的heap多已经使用100%
于是dump jvm
jmap -dump:file=dump_run.hprof 22671
分享到:
相关推荐
jmap-perl 是 JMAP 代理服务器的 Perl 实现,Perl JMAP 后端可以与 IMAP 和 SMTP 服务器通许,允许在邮件系统上替换 JMAP 接口。为了高效,初始化实现要求所有服务器支持 CONDSTORE 扩展(RFC4551/FRC7162)。提供一个...
java使用JMAP定位代码内存泄漏
jmap 内存分析可视化工具,无须破解,解压即用。小编亲测。
Kubernetes应用java程序无法使用jmap,jstack的解决方案.docx
JMAP 全称是 JSON 邮件访问协议。新基于 JSON 的 API 用于实现与邮件服务器之间的邮件同步,可用于替换 IMAP。如果服务器支持 IMAP ,很容易就可以扩展对 JMAP 的支持。 标签:JMAP
JMAP-JS 是 JMAP 邮件,联系人和日历模型的 JavaScript 实现,是 JMAP 的 JavaScript 客户端。 标签:JMAPJS
java程序性能分析thread dump和heap dump,dump文件:在故障定位(尤其是out of memory)和性能分析的时候,dump文件记录了JVM运行期间的内存占用、线程执行等情况。 heap dump:记录某一时刻JVM堆中对象使用情况,哪些...
JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解.docx
jmap、jstack、jstat组合使用定位jvm问题
JSON元应用协议(JMAP)规范此仓库包含JMAP的规范。 JMAP是电子邮件客户端连接到邮件存储的现代标准。 因此,它主要替代了IMAP + SMTP提交。 它不能代替MTA到MTA的SMTP传输。 JMAP由社区构建,并通过不断改进。 即将...
jmap jstat等命令介绍,如何监控tomcat内存使用情况的资料
JMAP服务器 如所指定的JMAP服务器的实现 安装 npm install -g jmap-server 用法 首先启动服务器: jmap-server 然后,您可以在测试一些请求: curl -d "@examples/mailboxes/setMailboxes.json" -H "Content-...
本文实例讲述了JavaScript JMap类定义与使用方法。分享给大家供大家参考,具体如下: 在JavaScript中我们利用function类定义类 在类的内部我们用var 定义私有变量 私有函数 在类的内部我们用this 定义公有变量 (1)...
与内存相关的性能问题和故障时Java应用程序经常要面对的,jmap命令提供了直观的方式帮助分析诊断此类问题。
JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,下面这篇文章主要给大家介绍了关于jvm信息jmap使用的基本方法教程,需要的朋友...
通过jstack与jmap分析一次线上故障.pdf
Java内存泄露_JVM监控工具介绍jstack_jconsole_jinfo_jmap_jdb_jstat
jMap 是一个简单易用的 Google Maps API 包装器,并且还有一些其他不错的功能。 用法 包括jQuery: < script src =" http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js " > </ script &...
jmap+EclipseMAT:排查内存泄漏的好工具.pdf