jvm笔记03:虚拟机性能监控与故障处理工具

来源:互联网 发布:淘宝信用卡付款限额 编辑:程序博客网 时间:2024/06/01 08:22


JDK命令行工具

jps:虚拟机进程状况工具

          它的功能和linux的ps命令类似,可以列出正在运行的虚拟机进程,并显示虚拟机执行主类名称以及这些进程的本地虚拟机唯一ID。


jstat:虚拟机统计信息监视工具

            jstat(JVM Statiistics Monitoring Tool)是用于监视虚拟机各种运行状态信息的命令行工具,他可以显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等数据。jstat 命令格式:

jstat [ option vmid [ interval [ s | ms ]  [ count ] ]

如查询进程2764进程的虚拟机状况,每隔250毫秒查询一次,一共查询20次: jstat -gc 2764 250 20



jinfo:java信息配置工具

            jinfo (Configuration Info for java)的作用是实时的查看和调整虚拟机各项参数。jinfo命令格式:jinfo  [ option ] pid

如:jinfo -flag MaxPermSize 1444

jmap:java内存映像工具

             jmap命令用于生产堆转储快照。jmap不仅仅是为了获取dump文件,它还可以查询finalize执行队列,java堆和永久代的详细信息,如空间使用率,当前使用的是哪种收集器等。jmap 命令格式:jmap [ option ] vmid


jhat:虚拟机堆转储快照分析工具

            jhat配合jmap使用,来分析jmap生成的堆转储快照,其实用后面说的visualvm 来分析比较方便也比较专业一点。


jstack:java堆栈跟踪工具

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


JDK可视化工具


jconsole:java监视与管理控制台

           在bin目录下面找到jconsole.exe文件,双击就出现本地或者远程运行的vm进程。里面包含内存监控,线程监控等图形化界面。


visualvm:多合一故障处理工具

            VisualVM(All-inOne Java Troubleshooting Tool)是到目前为止随JDK发布功能最强大的运行监视和故障处理程序,并且可以预见在未来一段时间内都是官方主力发展的虚拟机故障处理工具。它除了运行监视、故障处理还提供了性能分析功能。

通过插件扩展,VisualVM可以做到:

1)显示虚拟机进程以及进程的配置、环境信息(jps、jinfo)

2)监视应用程序的CPU、GC、堆、方法区以及线程信息(jstack、jstat)

3)dump以及分析堆转储快照

4)方法级的程序运行性能分析,找出被调用最多、运行时间最长的方法。

5)离线程序快照:收集程序的运行时配置、线程dump、内存dump等信息建立一个快照,可以将快照发送开发者处进行bug反馈。

6)其他plugins的无限可能性。。。

           首次启动VisualVM是没有安装任何的插件的,默认提供基本的监视、线程面板的功能。插件可以手工安装,在相关网站下载 *. nbm包之后,点击”工具“->   "插件" ->  "已下载"菜单,然后在弹出对话框中指定nbm包路径就可以进行安装了。在有网络的情况下,可以点击”工具“ -> “插件菜单” 去下载自己想要的插件

         







0 0