虚拟机性能监控与故障处理

命令工具

java开发人员肯定都知道JDK的bin目录中有”java.exe”,”javac.exe”这两个命令行工具,但并非所有程序员都了解过jdk的bin目录之中其他命令行程序的作用。
这里写图片描述

下面先概括介绍下作用:
jps:显示指定系统内所有的HotSpot虚拟机进程。
jstat:用于收集HotSpot虚拟机各方面的运行数据。
jinfo:显示虚拟机配置信息。
jmap:生成虚拟机的内存转储快照。
jhat:用于分析heapdump文件,它会建立一个HTTP/HTML服务器,让用户可以在浏览器上查看分析结果。
jstack:查看虚拟机线程快照。

jinfo:java配置信息工具

jinfo的作用是实时地查看和调整虚拟机各项参数

jps:虚拟机进程状况工具

JDK的很多小工具的名字都参考了UNIX命令的命名方式,jps是其中的典型。除了名字像UNIX的ps命令之外,它的功能也和ps命令类似:可列出正在运行的虚拟机进程,并显示出虚拟机执行主类名称以及这些进程的本地虚拟机唯一ID。虽然功能比较单一,但是使用频率是最高的JDK命令行工具,因为其他的JDK工具需要他查到LVMID(Local virtual Machine Identifer)来确定要监控的是哪一个虚拟机进程。 对于本地虚拟机来说,LVMID与PID是一样的。
举个例子来说:
这里写图片描述

选项作用
-q只输出LVMID,不输出类名
-m输出虚拟机进程启动时传递给主类Main()函数的参数
-l输出主类全名,如果进程执行的是jar包,输出Jar路径
-v输出虚拟机进程启动时JVM参数

jstat:虚拟机统计信息的工具

jstat(JVM Statistics Monitoring Tool)是用于监视虚拟机各种运行状态信息的命令工具。它可以显示本地或者远程虚拟机进程中的类装载,内存, ,垃圾收集,JIT编译,在没有GUI图形界面比如(JConsole),只提供了纯文本控制环境的服务器,它是定位虚拟机性能的首选工具。
命令格式:
jps [option] vmid [s|ms] [count]
这里写图片描述这里写图片描述
上面的结果显示新生代Eden区用了54.21%的空间,两个Survivor区(S0,S1)S0为空,S1占用71.81%,老年代Old区占用71.7%,方法区是问号。运行以来共生成Minor GC65次,耗时1.033秒,FULL GC10次,耗时0.524秒,所有GC耗时1.558秒。

jmap:java内存映像工具

jmap(Memory map for java)用于生成堆转储快照(一般称为dump文件)。如果不使用jmap命令,要想获取java堆转储快照,还有一些暴力手段,利用配置参数,可以让虚拟机出现OOM异常后自动生成dump文件。
jmap的作用并不仅仅是为了获取dump文件,它可以查询finalize执行队列,java堆和永久代信息,如空间使用率,哪种垃圾收集器。
这里写图片描述

jhat:jmap使用完后的分析工具

在jhat中内置Http服务器,分析之后直接访问本地的端口为7000即可
这里写图片描述

jstack:java堆栈跟踪工具

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值