博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java内存分析总结
阅读量:5058 次
发布时间:2019-06-12

本文共 898 字,大约阅读时间需要 2 分钟。

1、自带的jconsole工具。

      (1)假设是从命令行启动,使 JDK 在 PATH 上,执行 jconsole 就可以。

      (2)假设从 GUI shell 启动,找到 JDK 安装路径,打开 bin 目录,双击 jconsole

      (3)当分析工具弹出时(取决于正在执行的 Java 版本号以及正在执行的 Java 程序数量),可能会出现一个对话框,要求输入一个进程的 URL 来连接,

          也可能列出很多不同     的本地 Java 进程(有时包括 JConsole 进程本身)来连接。

       參照

2、自带的jmap工具

     jmap 是一个能够输出全部内存中对象的工具,甚至能够将VM 中的heap,以二进制输出成文本。用法 jmap -histo pid。假设连用 SHELL jmap -histo pid>a.log能够将其保存到文本中去(windows下也能够使用),在一段时间后,使用文本对照工具,能够对照出GC回收了哪些对象。

      (1)windows环境DOS查询port和PID号:TaskList/svc

        (2)用netstat -ano命令,列出全部port相应的PID

3、mat

   a、产生dump文件

       一个进程相应一个.hprof文件,

      (1)设置jvm的參数:-XX:+HeapDumpOnOutOfMemoryError生成的java_pid7888.hprof文件位于当前project文件夹下;
      (2)通过jmap -dump:format=b,file=HeapDump.bin <pid>

     (3)通过jconsole生成

      选择 Mbean -> com.sun.management -> HotSpotDiagnos -> Operations -> dumpHeap

     在參数p0中填写保存dmp文件的路径,比如f:/my.hprof, 文件的后缀名要为hprof

      点击dumpHeapbutton生成dump文件。

    

   b、安装mat打开.hprof文件进行分析

转载于:https://www.cnblogs.com/mengfanrong/p/4051849.html

你可能感兴趣的文章
Android内核sysfs中switch类使用实例
查看>>
POJ2288 Islands and Bridges(TSP:状压DP)
查看>>
POJ3250 Bad Hair Day(单调栈)
查看>>
[No0000195]NoSQL还是SQL?这一篇讲清楚
查看>>
IOS开发UI篇--UITableView的自定义布局==xib布局
查看>>
【深度学习】caffe 中的一些参数介绍
查看>>
Python-Web框架的本质
查看>>
Unrecognized Windows Sockets error: 0: JVM_Bind 异常解决办法
查看>>
struts2中<s:form>的应用
查看>>
QML学习笔记之一
查看>>
openoj的一个小比赛(G题解题报告)优先队列
查看>>
7NiuYun云存储UploadPicture
查看>>
Window 的引导过程
查看>>
联想 Thinkpad X230 SLIC 2.1 Marker
查看>>
python scrapy 爬取西刺代理ip(一基础篇)(ubuntu环境下) -赖大大
查看>>
关于翻译app的一些个人化看法分析
查看>>
ELK原理与介绍
查看>>
Java开发知识之JAVA的反射
查看>>
python -m SimpleHTTPServer 80801
查看>>
【WPF】闲着没事,写了个支持数据列表分页的帮助类
查看>>