志在指尖
用双手敲打未来

jmap生成内存堆转储快照

jmap指令用来生成内存堆转储快照,一般称为heapdump或dump文件。
除了运用jmap指令,还以经过一些JVM参数让虚拟机在内存溢出时主动dump出快照文件。
参数阐明
-XX:+HeapDumpOnOutOfMemoryError内存溢出时主动导出内存快照
-XX:HeapDumpPath=E:/dumps/导出内存快照时保存的路径
所有的JDK工具都可以在Oracle官网的JavaToolsReference文档中找到运用阐明,这是首要参阅,包括指令格局、参数内容、输出信息等等。java
jmap指令格局:
Copy
jmap[options]pidjmap[options]executablecorejmap[options][pid]server-id@]remote-hostname-or-IP
jmap帮助信息:
image
jmap-dump#
jmap指令运用-dump参数生成内存快照,-dump参数格局如下:
Copy
-dump:[live,]format=b,file=filename
举例如下:
Copy
jmap-dump:format=b,file=/dumps/jmap.hprof21060
输出如下:
image
可见,在指定目录dumps下面生成了堆快照文件。
jmap-heap#
jmap指令运用-heap参数检查堆内存的配置信息,以及堆中各个区域的运用情况,如新生代的Eden和Survivor区,还有老年代。
-heap参数举例如下:
Copy
jmap-heap21060
输出如下:
image
其他参数#
jmap指令还有许多其他参数,可以参阅JavaToolsReference文档,列举如下:
Copy
option>Whennooptionisused,thejmapcommandprintssharedobjectmappings.ForeachsharedobjectloadedinthetargetJVM,thestartaddress,sizeofthemapping,andthefullpathofthesharedobjectfileareprinted.ThisbehaviorissimilartotheOracleSolarispmaputility.
-dump:[live,]format=b,file=filename
DumpstheJavaheapinhprofbinaryformattofilename.Thelivesuboptionisoptional,butwhenspecified,onlytheactiveobjectsintheheaparedumped.Tobrowsetheheapdump,youcanusethejhat(1)commandtoreadthegeneratedfile.
-finalizerinfo
Printsinformationaboutobjectsthatareawaitingfinalization.
-heap
Printsaheapsummaryofthegarbagecollectionused,theheadconfiguration,andgeneration-wiseheapusage.Inaddition,thenumberandsizeofinternedStringsareprinted.
-histo[:live]
Printsahistogramoftheheap.ForeachJavaclass,thenumberofobjects,memorysizeinbytes,andthefullyqualifiedclassnamesareprinted.TheJVMinternalclassnamesareprintedwithanasterisk(*)prefix.Ifthelivesuboptionisspecified,thenonlyactiveobjectsarecounted.
-clstats
PrintsclassloaderwisestatisticsofJavaheap.Foreachclassloader,itsname,howactiveitis,address,parentclassloader,andthenumberandsizeofclassesithasloadedareprinted.
-F
Force.Usethisoptionwiththejmap-dumporjmap-histooptionwhenthepiddoesnotrespond.Thelivesuboptionisnotsupportedinthismode.
-h
Printsahelpmessage.
-help
Printsahelpmessage.
-Jflag
PassesflagtotheJavaVirtualMachinewherethejmapcommandisrunning.

未经允许不得转载:IT技术网站 » jmap生成内存堆转储快照
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载