jvm监控及诊断工具-GUI篇

jvm监控及诊断工具-GUI篇

一、工具概述

在这里插入图片描述
在这里插入图片描述

二、jConsole

1.基本概述

在这里插入图片描述

2.启动

在这里插入图片描述

3.三种连接方式

在这里插入图片描述

三、Visual VM

1.基本概述

在这里插入图片描述

2.连接方式

在这里插入图片描述

3.主要功能

在这里插入图片描述

四、eclipse MAT

1.基本概述

在这里插入图片描述
在这里插入图片描述

2.获取堆dump文件

dump文件内容

在这里插入图片描述

两点说明

在这里插入图片描述

获取dump文件

在这里插入图片描述

3.分析堆dump文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

histogram

在这里插入图片描述

thread overview

在这里插入图片描述

获得对象相互引用的关系

在这里插入图片描述

浅堆与深堆

shallow heap

在这里插入图片描述

retained heap

在这里插入图片描述

补充:对象实际大小

在这里插入图片描述

案例分析:StudentTrace

在这里插入图片描述

支配树

在这里插入图片描述
在这里插入图片描述

4.案例:Tomcat堆溢出分析

说明

在这里插入图片描述

五、补充1:再谈内存泄漏

1.内存泄漏的理解与分类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.java中内存泄漏的8种情况

静态集合类

在这里插入图片描述

单例模式

在这里插入图片描述

内部类持有外部类

在这里插入图片描述

各种连接,如数据库连接、网络连接和IO连接等

在这里插入图片描述

变量不合理的作用域

在这里插入图片描述

改变哈希值

在这里插入图片描述

缓存泄漏

在这里插入图片描述
在这里插入图片描述

监听器和回调

在这里插入图片描述

六、补充2:支持使用OQL语言查询对象信息

在这里插入图片描述

1.select子句

在这里插入图片描述

2.From子句

在这里插入图片描述

3.WHERE子句

在这里插入图片描述

4.内置对象与方法

在这里插入图片描述

七、Jprofiler

1.基本概述

介绍

在这里插入图片描述

特点

在这里插入图片描述

主要功能

在这里插入图片描述

2.具体使用

数据采集方式

在这里插入图片描述

八、Arthas

1.背景

在这里插入图片描述
在这里插入图片描述

2.概述

在这里插入图片描述

3.基于哪些工具开发而来

在这里插入图片描述

4.相关诊断指令

基础指令

在这里插入图片描述

jvm相关

在这里插入图片描述

class/classloader相关

在这里插入图片描述

sc

在这里插入图片描述

sm

在这里插入图片描述

jad

在这里插入图片描述

mc、redefine

在这里插入图片描述

classloader

在这里插入图片描述

monitor/watch/trace相关

在这里插入图片描述

monitor

在这里插入图片描述

watch

在这里插入图片描述
在这里插入图片描述

trace

在这里插入图片描述

stack

在这里插入图片描述

tt

在这里插入图片描述

其它

在这里插入图片描述

九、Java Mission Control

1.历史

在这里插入图片描述

2.启动

在这里插入图片描述
在这里插入图片描述

3.概述

在这里插入图片描述

4.功能:实时监控JVM运行时的状态

在这里插入图片描述

5.Java Flight Recorder

在这里插入图片描述

事件类型

在这里插入图片描述

启动方式

方式1

在这里插入图片描述

方式2

在这里插入图片描述

方式3

在这里插入图片描述

十、其它工具

1.Flame Graphs(火焰图)

在这里插入图片描述

2.Tprofiler

在这里插入图片描述

3.Btrace

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xiaotai1234/article/details/113825733
今日推荐