一、如何下载Java程序的dump内存文件并离线导入到MemoryAnalyser工具进行分析

1、jps查看Java应用的pid   jps

11584
21616
8084 Launcher
24792 kafkatool.exe
25832 HomeworkApplication   【程序前面的就是程序ID:pid】
10300 Launcher
4460 Jps

2、dump内存文件

jmap命令(Java Memory Map)是用来打印指定Java进程的共享对象内存映射或者堆内存细节。jmap命令可以获得运行中的jvm的堆的快照,从而可以离线分析堆,以检查内存泄漏、大对象的创建,对应所占用的内存大小等等。

可以使用jmap生成Heap Dump离线文件。

jmap -dump:format=b,file=homeworkdump 25832【这个是通过jps查询出来的Java进程ID】

3、使用k8s copy出来即可

kubectl cp homework-dp-4j888hhj:./

4、用memoryAnalyser分析dump文件

使用open heap dump 需要选择所有文件的格式才行, all files,  因为上述步骤导出的dump文件没有后缀名。导入之后界面如下,之后可以借助工具非常强大的功能进行分析:

1、要看这个Dominator Tree (统治树),这里面可以查看内存快照里面的大对象,查看heap百分比,以及所占百分比。

另外一个就是Leak Suspects, 这里的信息非常丰富,可以智能地帮助我们动态检查程序可能出现的问题。

里面有很多子项可以点击,类图、对象信息、栈溢出(堆内存)等溢出日志等都有。

点击【System Overview】里面有非常多的小类可以点击查看,信息非常丰富。

Java内存分析利器——Eclipse Memory Analyzer工具的使用的更多相关文章

  1. Java内存溢出分析方法(Eclipse Memory Analyzer 使用简单入门)

    转载至:http://outofmemory.cn/java/jvm/OutOfMemoryError-analysis 工具 安装Memory Analyse Tools(MAT) 工具, 可以直接 ...

  2. 内存映像分析工具Eclipse Memory Analyzer

    1. Eclipse Memory Analyzer安装 Help ->Eclipse Marketplace,搜索Memory,点击install,->confirm->同意证书内 ...

  3. 使用Eclipse Memory Analyzer 进行JAVA内存泄露分析

    一,安装 Eclipse Memory Analyzer 在Memory Analyzer的官网找到 update site的地址:

  4. 一次使用Eclipse Memory Analyzer分析Tomcat内存溢出

    转:http://tivan.iteye.com/blog/1487855 前言 在平时开发.测试过程中.甚至是生产环境中,有时会遇到OutOfMemoryError,Java堆溢出了,这表明程序有严 ...

  5. 一次使用Eclipse Memory Analyzer分析Tomcat内存溢出(转)

    前言 在平时开发.测试过程中.甚至是生产环境中,有时会遇到OutOfMemoryError,Java堆溢出了,这表明程序有严重的问题.我们需要找造成OutOfMemoryError原因.一般有两种情况 ...

  6. 使用Eclipse Memory Analyzer分析Tomcat内存溢出

    前言 在平时开发.测试过程中.甚至是生产环境中,有时会遇到OutOfMemoryError,Java堆溢出了,这表明程序有严重的问题.我们需要找造成OutOfMemoryError原因.一般有两种情况 ...

  7. [转]一次使用Eclipse Memory Analyzer分析Tomcat内存溢出

    一次使用Eclipse Memory Analyzer分析Tomcat内存溢出 前言 在平时开发.测试过程中.甚至是生产环境中,有时会遇到OutOfMemoryError,Java堆溢出了,这表明程序 ...

  8. eclipse memory analyzer对系统内存溢出堆文件解析0(转)

    前言 在平时工作过程中,有时会遇到OutOfMemoryError,我们知道遇到Error一般表明程序存在着严重问题,可能是灾难性的.所以找出是什么原因造成OutOfMemoryError非常重要.现 ...

  9. MyEclipse安装Eclipse Memory Analyzer插件,并进行错误文件分析流程

    在看深入JVM虚拟机一书(p50,2.4 实战OutOfMemoryError),有一个Java堆溢出的例子,使用到了Eclipse Memory Analyzer插件,由于自己现在使用的是MyEcl ...

  10. 使用 Eclipse Memory Analyzer 进行堆转储文件分析

    Eclipse Memory Analyzer(MAT)是著名的跨平台集成开发环境 Eclipse Galileo 版本的 33 个组成项目中之一,它是一个功能丰富的 JAVA 堆转储文件分析工具,可 ...

随机推荐

  1. 关于RESTful 的使用(实战)

    今天在博客园首页看到一篇关于写 RESTful, 大致就是前端定义的一种规范. 原文如下, https://www.cnblogs.com/zhangmumu/p/11936262.html 看了一圈 ...

  2. [机器学习] PCA主成分分析原理分析和Matlab实现方法

    转载于http://blog.csdn.net/guyuealian/article/details/68487833 网上关于PCA(主成分分析)原理和分析的博客很多,本博客并不打算长篇大论推论PC ...

  3. [OpenCV实战]27 在OpenCV下使用forEach进行并行像素访问

    目录 1 Mat像素访问 1.1 使用at方法直接进行像素访问 1.2 使用指针进行像素访问 1.3 使用forEach方法进行像素访问 1.4 将forEach与C ++ 11 Lambda一起使用 ...

  4. JSONObject 相关

    /** * 将json转为对应实体类 */ public static Object jsonToJavaObj(String json, Class cs) { return jsonToJavaO ...

  5. 蚂蚁感冒【第五届蓝桥杯省赛C++A/B组】

    蚂蚁感冒 长 \(100\) 厘米的细长直杆子上有 \(n\) 只蚂蚁. 它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是 1 厘米/秒. 当两只蚂蚁碰面时,它们会同时掉头往相反的方 ...

  6. [Leetcode]设计链表

    题目 设计链表的实现.您可以选择使用单链表或双链表.单链表中的节点应该具有两个属性:val 和 next.val 是当前节点的值,next 是指向下一个节点的指针/引用.如果要使用双向链表,则还需要一 ...

  7. P3845 [TJOI2007]球赛

    简要题意 \(T\) 组数据,每一组数据给出 \(n\) 个数对 \((a,b)\).你需要将其分为几组,使得组单调不降.求最小组数. 思路 模拟赛考的题. 先来介绍 Dilworth 定理: 对于任 ...

  8. Potree 003 基于Potree Desktop创建自定义工程

    1.第三方js库 第三方库js库选择dojo,其官网地址为https://dojotoolkit.org/,git地址为https://github.com/dojo/dojo,demo地址为http ...

  9. C Primer Plus 5.11 編程練習

    /*C Primer Plus (5.10) 9*/ 1 #include<stdio.h> 2 #define G 103 3 int main() 4 { 5 char ch=96; ...

  10. vscode快速删除空白行方法

    1.快速打开替换界面,在Find界面输入^\s*(?=\r?$)\n 2.Alt+R选择Use Regular Expression(Alt+R)即正则表达式模式: 3.选择Replace All(C ...