面板说明
工具栏
主要作用:
1、 装入dump文件
2、 添加jmx链接
3、 添加远程主机
4、 添加快照
5、 比较快照
6、 堆栈dump
7、 线程dump
8、 性能分析
9、 排序方式
10、 更新/添加插件
应用程序
主要功能:
1、 展示本地主机和远程主机连接信息
2、 添加快照
3、 添加堆栈dump、线程dump
4、 打开样例
监控面板
概述面板
A区:pid表示服务器上的进程id
其他内容分别展示服务器的相关信息,包括ip、jvm版本、lava版本及目录等
B区:展示之前dump或快照的数量
C区:
Jvm参数:记录服务器上jvm相关的配置文件及路径
系统属性:记录java相关的各种版本、设置及路径
监视面板
正常运行时间:指打开Jvisualvm开始监控的时长
执行垃圾回收:通过该面板,可以直接进行手动垃圾回收
堆dump:对堆的使用详细进行一次dump,dump的结果会记录在服务器tomcat路径下的tmp文件夹下(每次dump时会有弹出框说明记录位置,以弹出框说明为准)
下面是展示cpu使用情况、堆使用情况、permgen使用情况、类装载次数、线程数趋势图,展示内容一目了然
线程面板
记录实时线程和守护线程数量
线程dump:功能类似堆栈dump,不过dump的目标是线程执行情况
时间线:记录实时进程的运行时间及状态
表:以数据的形式展示所有线程的运行、休眠、等待、驻留、监视、总计等状态下的时间
详细信息:需要选定某个线程,在该版面下查看选中线程的详细执行情况
抽样器面板
可抽样对象:cpu和内存
Cpu抽样:点击cpu按钮即可启动cpu抽样,下面会展示cpu抽样的样例及各线程所消耗的cpu占比
内存抽样:点击cpu按钮即可启动cpu抽样,下面会展示堆柱状图记录各方法消耗内存情况、permgen柱状图记录permgen使用情况、线程分布图记录各个线程
快照:可对对抽象结果进行快照,保存结果
主要功能
堆Dump
在监视面板使用堆dump,会在服务器的相关路径下生成一个dump文件,文件格式为.hprof,将生成的.hprof文件拷贝至本地,可以通过Jvisualvm装入该文件,即可查看当时的堆使用情况
主要查看“类”这列,会记录展示各类及方法的堆情况分布和实例数(可以通过下方的过滤器过滤掉不相关的类和方法)。也可以选择与另一个堆dump文件进行比较,来判断有问题的类或方法
线程dump
对线程进行dump之后,可以看到dump结果
首先从结果中能直接看到线程状态,通过查看每个线程的java.lang.Thread.State:检查有没有存在死锁的线程(死锁线程状态为BLOCKED )
Cpu抽样
在抽样器中进行抽样,通过cpu抽样,可以查看具体类和方法的cpu使用耗时情况,在底部有过滤器,可以过滤java自身的方法
内存抽样
内存抽样可以记录各个堆和线程的内存分配情况。在面板上有堆柱形图、permgen柱形图和线程柱形图,以堆柱形图进行说明
内存分配有实时展示和增量展示两种。在增量展示的列表中可以观察具体哪些类在内存使用上增加较多,依次找出有问题的类
另外可以在当前页面进行快照、gc和dump操作