内存溢出分析之工具篇

1.jmeter

压测工具。可对特定接口进行压测,分析tps、响应时间、CPU、内存等性能指标。

2)dump 文件分析

包括系统概要、堆中的类(以及对应的实例)分析、线程分析、OQL查询等内容
打开 dump 文件:

3.gperftools

官 :https://github.com/gperftools/gperftools/wiki

google 提供的性能分析工具,包括对应用程序CPU、内存等的性能分析。本次主要介绍 工具分析堆外内存。

工具:监控所有的内存分配和释放,内存分配包括: 。底层实现了 等方法,监控 等方法的调用。

安装步骤:

1) 安装gcc

2) 安装 libunwind

3) 安装 gperftools

4) 配置 libunwind lib 路径

5) 启动脚本增加配置

6) 用法

使用实例

text 工具:

4.MAT

eclipse 出的内存分析工具。下载地址: http://www.eclipse.org/mat/downloads.php
注:此处只做简单介绍,更多功能请自行挖掘。

常用分析:

  1. Leak Suspects: 内存泄露分析,包含泄露疑点、系统概述
  2. Histogram: 列举类的对象数量及大小
  3. Dominator Tree: 列举最大的对象
  4. Thread Overview: 展示线程名称、堆栈等信息
  5. Top Consumers: 按类名和包名打印最大的对象
  6. Top Components: 列举大于堆内存1%的组件 告。组件:某个根包下的类集合或被某个类加载器加载的类
  7. OQL: 对象查询语言

首页

Histogram:列举类的对象数量及大小

OQL 查询:可按指定条件查询对象

执行结果为:

Path To GC Roots: 查看GC路径

pmap 查看进程的内存映射关系

如:

pmap

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年8月25日
下一篇 2018年8月25日

相关推荐