博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java虚拟机之性能监控工具
阅读量:4163 次
发布时间:2019-05-26

本文共 1502 字,大约阅读时间需要 5 分钟。

文章目录

jps 虚拟机进程状况工具(常用)

最常用的工具之一,因为其他命令都需要先使用jps查询出LVMID(本地虚拟机唯一ID)

sudo -u tomcat jps

在这里插入图片描述

jstat 虚拟机统计信息监视工具(常用)

用于监视虚拟机各种运行状态信息的命令行工具。可以显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据,没有GUI图形界面,它将是运行期定位虚拟机性能问题的首选工具

命令:

jstat [ option vmid [ interval[s|ms] [count] ] ]
  • vmid:若是本地虚拟机,则和LVMID一致;若为远程虚拟机,则格式为:[protocol:][//]lvmid[@hostname[:port]/servername]
  • 参数interval和count代表查询间隔和次数,若省略这两个参数,说明只查询一次

每隔10秒查询本地虚拟机的内存情况:

sudo -u tomcat jstat -gc 4131 10000sudo -u tomcat jstat -gcutil 4131 10000sudo -u tomcat jstat -gccause 4131 10000  #查看fullgc原因,LGCC表示Last GC Cause

在这里插入图片描述

jinfo 配置信息工具(常用)

实时查看和调整虚拟机各项参数

# 查看启动参数sudo -u tomcat jinfo -flags 4131

在这里插入图片描述

# 查看Java所有的系统参数sudo -u tomcat jinfo -sysprops 4131

在这里插入图片描述

jmap 内存映像工具

用于生成堆转储快照(一般为heapdump或dump文件),还可以查询finalize执行队列、Java堆和永久代的详细信息,如空间使用率、当前用的是哪种收集器等

# 查看垃圾收集器、分代情况sudo -u tomcat jmap -heap 4131

在这里插入图片描述

# 生成dump快照文件sudo -u tomcat jmap -dump:format=b,file=/tmp/test.bin 4131

jhat 虚拟机堆转储快照分析工具(一般不用)

与jmap命令搭配使用,来分析jmap生成的堆转储快照。Jhat内置一个微型的HTTP/HTML服务器,可在浏览器中查看。不过一般不建议使用该工具分析dump文件,原因如下:

  • 一般不会在不是应用程序的机器上直接分析dump文件
  • jhat的分析功能相对来说比较简陋

后续会介绍VisualVM工具,比jhat好用多了

jstack 堆栈跟踪工具

用于生成虚拟机当前时刻的线程快照。线程快照就是当前虚拟机每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等都是导致线程长时间停顿的常见原因。

sudo -u tomcat jstack -l 4131

在这里插入图片描述

VisualVM 可视化工具

比较常用的工具,非常强大,在JDK1.6 update7中首次出现。VisualVM有个很大的优点:不需要被监视的程序基于特殊Agent运行,因此它对应用程序的实际性能的影响很小,使得它可以直接应用在生产环境。

具体如何使用参考我的另一篇博客:

MAT 强大的dump分析工具(常用)

当线上环境频繁Full GC时,你可以dump一份文件,然后通过MAT进行查看分析。Eclipse有支持MAT的插件,具体使用百度,除此之外还有集成版、绿色版的MAT工具。

绿色版MAT下载地址:

具体如何使用也请参考我的另一篇博客:

转载地址:http://szpxi.baihongyu.com/

你可能感兴趣的文章
Joint Tracking and Segmentation of Multiple Targets
查看>>
Subgraph Decomposition for Multi-Target Tracking
查看>>
JOTS: Joint Online Tracking and Segmentation
查看>>
CDT: Cooperative Detection and Tracking for Tracing Multiple Objects in Video Sequences
查看>>
Improving Multi-frame Data Association with Sparse Representations for Robust Near-online Multi-ob
查看>>
Virtual Worlds as Proxy for Multi-Object Tracking Analysis
查看>>
Multi-view People Tracking via Hierarchical Trajectory Composition
查看>>
Online Multi-Object Tracking via Structural Constraint Event Aggregation
查看>>
The Solution Path Algotithm for Identity-Aware Multi-Object Tracking
查看>>
Groupwise Tracking of Crowded Similar-Appearance Targets from Low-Continuity Image Sequences
查看>>
CDTS: Collaborative Detection, Tracking, and Segmentation for Online Multiple Object Segmentation
查看>>
Deep Network Flow for Multi-Object Tracking
查看>>
Multiple People Tracking by Lifted Multicut and Person Re-identification
查看>>
Multi-Object Tracking with Quadruplet Convolutional Neural Networks
查看>>
关于多目标跟踪的一点理解
查看>>
Learning by tracking:Siamese CNN for robust target association
查看>>
MUSTer:Multi-Store Tracker:A Cognitive Psychology Inspired Approach to Object Tracking
查看>>
Understanding and Diagnosing Visual Tracking Systems
查看>>
Multiple People Tracking by Lifted Multicut and Person Re-identification
查看>>
Visual Tracking Using Attention-Modulated Disintegration and Integration
查看>>