《深入理解Java虚拟机》读书笔记4

第4章 虚拟机性能监控与故障处理工具
4.2 JDK的命令行工具 :Java.exe  和  javac.exe
1) jps(JVM Process Status Tools)虚拟机进程状况工具 :可以列出正在运行的虚拟机进程,并显示虚拟机执行主类的名称,以及这些进程的本地虚拟机的唯一ID(LVMID,Local Virtyal Machine Identifier)
2) jstat(JVM Statistics Monitoring Tool)虚拟机统计信息监视工具 :用于监视虚拟机各种运行状态信息的命令工具,比如:本地或远程虚拟机中的类装载、内存、垃圾收集、JIT编译等运行数据。
3) jinfo  Java配置信息工具 :实时查看和调用虚拟机的各项参数。
4) jmap  Java内存映象工具 :用于生成堆存储快照(一般称为heapdump或dump文件);还可以查询finalize执行队列,java堆和永久代的详细信息。
5) jhat(JVM Heap Analysis Tool)虚拟机堆存储快照分析工具 :与jmap搭配使用,来分析jmap生成的堆存储快照。(但一般不使用jhat命令来分析dump文件)
6) jstack  Java堆栈跟踪工具 :用于生成虚拟机当前时刻的线程快照(一般称为Threaddump或javacore文件)。线程快照就是当前虚拟机捏每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因。
 
4.3 JDK的可视化工具 :JConsole 和 VisualVM
(1) JConsole:Java监视与管理控制台, 是一款基于JMX的可视化监视和管理的工具。它管理部分的功能是针对JMX MBean进行管理。
① “内存”——相当于可视化的jstat命令
② “线程”——相当于可视化的jstack命令(线程长时间停顿的原因有:等待外部资源[数据库连接、网络资源、设备资源等]、死循环、锁等待[活锁或死锁])
(2) VisualVM多合一故障处理工具
① 功能:运行监视、故障处理、性能分析(Profiling)等
② 很大优点:不需要被监视的程序基于特殊的Agent运行,因此它对应用程序的实际性能的影响很小,使得它可以直接应用在生产环境中。
③ VisualVM的Profiling功能可能会因为类共享而导致被监视的应用程序崩溃,所以在进行Profiling之前,最好在被监视的程序中使用-XShare:off参数关闭类共享优化。
④ BTrace动态日志跟踪:VisualVM的一个插件,本身也是可以独立运行的程序。
BTrace作用:在不停止目标程序运行的前提下,通过HotSpot虚拟机的HotSwap(代码热替换技术)技术动态加入原本不存在的调试代码。这项功能对实际生产中的程序很有意义:经常遇到程序出现问题,但排查错误的一些必要信息,如方法参数、返回值等,在开发时并没有打印到日志中,以至于不得不停掉服务,通过调试增量来加入日志代码解决问题。
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值