• java内存分析总结


    1、自带的jconsole工具。

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

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

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

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

           參照http://jiajun.iteye.com/blog/810150

    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文件进行分析

  • 相关阅读:
    uva-679 Dropping Balls UVA
    并查集模板
    最大子段和模板
    uva 10048 Audiophobia UVA
    2018/11/2 周五集训队第三次比赛补题题解
    单源最短路径算法小总结
    DP背包问题小总结
    SpringMVC的请求-获得请求参数-获得请求头信息
    SpringMVC的请求-获得请求参数-自定义类型转换器
    SpringMVC的请求-获得请求参数-Restful风格的参数的获取
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4051849.html
Copyright © 2020-2023  润新知